Mysql Pandas读取字段数量上的错误,但目视检查看起来不错

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

我正在尝试加载一个大的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: 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:在未加引号的字段中看到新行字符-是否需要以通用换行模式打开文件?