我试图用pandas.read_csv读取大而复杂的CSV文件。 确切的命令是
pd.read_csv(filename,quotechar ='"',low_memory = True,dtype = data_types,usecols = columns,true_values = [' T'],false_values = [' F'])
我很确定数据类型是正确的。我可以读取前1600万行(设置nrows = 16000000)没有问题,但在此之后的某处我得到以下错误
ValueError:无法将字符串转换为float:' 1,123'
看起来,出于某种原因,熊猫认为两列是一列。
可能是什么问题?我该如何解决?
答案 0 :(得分:1)
我发现了错误。问题是一千个分隔符。
编写CSV文件时,大多数数字都低于数千,并且已正确写入CSV文件。然而,这一个值大于千,它写成“1,123”,大熊猫没有识别为数字而是字符串。