【问题标题】:Reading csv file with numpy genfromtxt and loadtxt使用 numpy genfromtxt 和 loadtxt 读取 csv 文件
【发布时间】:2018-10-05 12:02:48
【问题描述】:

这是我试图读取的数据示例:

107,4205,934,-1869,97,3917,0,-5154,23,-447
69,-1014,-1449,-4347,177,-1977,4463,2824,1,80
177,-1581,5028,4519,161,-372,5900,1677,2,36
175,-800,-5028,-2571,195,-1794,-6410,-3589,1,-25
107,-1962,-3457,-2336,109,-2018,-7614,-1376,1,9
72,-138,-6388,1388,76,1447,789,6315,1,38
78,1538,6666,4871,67,5074,6119,7611,3,-50
65,-4615,307,-9384,85,-6235,-5176,-7999,3,-12

但是我不断收到这些错误

>>> dataset = numpy.loadtxt(r"C:\data.csv",delimiter=',',dtype=str)
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
dataset = numpy.loadtxt(r"C:\data.csv",delimiter=',',dtype=str)
File "C:\Program Files\Python36\lib\site-packages\numpy\lib\npyio.py", line 
1101, in loadtxt
for x in read_data(_loadtxt_chunksize):
 File "C:\Program Files\Python36\lib\site-packages\numpy\lib\npyio.py", line 
1025, in read_data
% line_num)
ValueError: Wrong number of columns at line 2

>>> dataset = numpy.genfromtxt(r"C:\data.csv",delimiter=',')
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
dataset = numpy.genfromtxt(r"C:\data.csv",delimiter=',')
File "C:\Program Files\Python36\lib\site-packages\numpy\lib\npyio.py", line 
2031, in genfromtxt
raise ValueError(errmsg)
ValueError: Some errors were detected !
Line #2 (got 1 columns instead of 10)
Line #4 (got 1 columns instead of 10)
Line #6 (got 1 columns instead of 10)

我尝试改变 loadtxt 和 genfromtxt 这两个函数的输入,但似乎没有任何效果。关于第 2 行列数错误的错误也很奇怪。该数据很简单,没有标题。我做错了什么?

【问题讨论】:

  • 你试过不使用字符串文字吗? ("C:\data.csv",...) 而不是 (r"C:\data.csv",...)。我不在 Windows 上,这里没有错误将您的数据复制到新的 csv 并使用两种 numpy 方法加载。
  • @cryptonome 我得到了同样的错误。在 Windows 10 上

标签: python python-3.x csv numpy


【解决方案1】:

我的 csv 文件是用 Unicode 而不是 ANSI 编写的。

在更改为 ANSI 后,它可以正常工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 2014-04-15
    • 2019-08-03
    • 2016-09-04
    • 2017-03-01
    • 2020-03-12
    • 1970-01-01
    相关资源
    最近更新 更多