Mysql Pandas读取字段数量上的错误,但目视检查看起来不错
我正在尝试加载一个大的csv文件,3715259行。 我自己创建了这个文件,有9个字段用逗号分隔 以下是错误:Mysql Pandas读取字段数量上的错误,但目视检查看起来不错,mysql,pandas,Mysql,Pandas,我正在尝试加载一个大的csv文件,3715259行。 我自己创建了这个文件,有9个字段用逗号分隔 以下是错误: df = pd.read_csv("avaya_inventory_rev2.csv", error_bad_lines=False) Skipping line 2924525: expected 9 fields, saw 11 Skipping line 2924526: expected 9 fields, saw 10 Skipping line 2924527: expe
df = pd.read_csv("avaya_inventory_rev2.csv", error_bad_lines=False)
Skipping line 2924525: expected 9 fields, saw 11
Skipping line 2924526: expected 9 fields, saw 10
Skipping line 2924527: expected 9 fields, saw 10
Skipping line 2924528: expected 9 fields, saw 10
这对我来说没有意义,我使用以下方法检查了有问题的行:
sed -n "2924524,2924525p" infile.csv
我不能列出输出,因为它们包含客户的专有信息。我将尝试合成一个有意义的替代品
第2924524行和第2924525行对我来说似乎有相同数量的字段
而且,我能够将相同的文件加载到mySQL表中,没有错误
create table Inventory (path varchar (255), isText int, ext varchar(5), type varchar(100), size int, sloc int, comments int, blank int, tot_lines int);
我对mySQL了解不够,无法理解为什么这可能是一个有效的测试,为什么pandas加载同一个文件会有不同的结果
蒂亚
'''UPDATE'':我试图用engine='python'阅读:
Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
当我创建这个csv时,我正在使用我编写的shell脚本。我使用重定向>>
我尝试了建议的解决方案:
input = open(input, 'rU')
df.read_csv(input, engine='python')
返回到相同的错误:
ValueError: Expected 9 fields in line 5157, saw 11
我猜这与我的csv创建脚本以及我如何处理有关
引用那句话。我不知道如何进一步调查这件事
我在vim中打开了csv输入文件,在第5157行有一个^M
,google说它是Windows CR
好的……我更接近了,虽然我确实有点怀疑类似的事情,并在csv输入上使用了dos2unix
我使用vim删除了^M
,并在关于的相同错误下重新运行
11个字段。然而,我现在可以看到我刚才看到的11个字段
9有一个v
,它可能是某种类型的窗口在等待
小结:有人认为用fobar.sh,v
所以我的档案器没有搞糟,只是一个名字的古怪…加上从偷偷溜进的窗口中随机出现的\r\lf
干杯除了显而易见的问题(检查那些问题行,即尝试加载这些行)之外,我不可能告诉您如何在不查看样本数据的情况下修复此问题,以重现问题如果您对命令行感到满意(看起来是这样的),您可以尝试计数逗号,以确保事情按预期进行。我使用engine='python'再次尝试,并收到:Error:在未加引号的字段中看到新行字符-是否需要以通用换行模式打开文件?