27

这是来自大型 csv 文件的示例:

6.1;6.1;7.2;8.9;5.0;
8.9;10.0;8.9;6.1;5.0;

如果我尝试将它读入 numpy 数组,np.loadtxt('test.csv', delimiter=';')我会得到:

ValueError:无法将字符串转换为浮点数:

不明白为什么?

4

2 回答 2

38

您需要从行中剥离尾随';'

如果您知道您有 5 列,则可能的解决方法是:

np.loadtxt('test.csv', delimiter=';', usecols=range(5))

或者,改用genfromtext处理缺失值的方法

np.genfromtxt('test.csv', delimiter=';')[:,:-1]
于 2013-05-24T06:58:42.483 回答
14

So in my case the csv file had column names written in the first row. e.g.

Column1,Column2,Column3
5.4,2.3,2.4
6.7,3.6,9.3

So as given in the docs, all I had to do was use the skiprows parameter

So the API call became,

np.loadtxt('test.csv', delimiter=',', skiprows=1)

于 2018-06-21T01:07:39.323 回答