我正在尝试读取熊猫df的CSV文件。执行此操作时出现错误。但是,如果我在excel中打开csv并使用新名称进行另存为,则它可以完美地工作。我不能每次都这样做,但是如果我可以编写代码来做到这一点,那将对我有用。
for file in os.listdir(downloadsdir):
if 'SalesByInvoiceType' in file:
file = os.path.join(downloadsdir, file)
df = pd.read_csv(file, delimiter=',')
错误:
ParserError: Error tokenizing data. C error: Expected 13 fields in line 11, saw 15
我更改了代码,使其包含一些read_csv参数
for file in os.listdir(downloadsdir):
if 'SalesByInvoiceType' in file:
file = os.path.join(downloadsdir, file)
df = pd.read_csv(file, encoding ='cp1252', sep='delimiter', header=None)
df
上述声明的输出
0
0 "Set. Officer","Case #"...
1
2 "TJ Stephens","10043","...
3
4 "Lindsay Anderson","103...
5
6 "Fred T. Rogers","10460...
7
8 "Fred T. Rogers","10484...
当我尝试使用其中的一行来抓
df[0][0]
输出为
'"\x00S\x00e\x00t\x00.\x00 \x00O\x00f\x00f\x00i\x00c\x00e\x00r\x00"\x00,\x00"\x00C\x00a\x00s\x00e\x00 \x00#\x00"\x00,\x00"\x00I\x00n\x00v\x00o\x00i\x00c\x00e\x00 \x00T\x00y\x00p\x00e\x00"\x00,\x00"\x00I\x00n\x00v\x00o\x00i\x00c\x00e\x00 \x00T\x00y\x00p\x00e\x00 \x00G\x00r\x00o\x00u\x00p\x00"\x00,\x00"\x00Q\x00u\x00a\x00n\x00t\x00i\x00t\x00y\x00"\x00,\x00"\x00U\x00n\x00i\x00t\x00 \x00P\x00r\x00i\x00c\x00e\x00"\x00,\x00"\x00A\x00m\x00o\x00u\x00n\x00t\x00"\x00,\x00"\x00C\x00l\x00i\x00e\x00n\x00t\x00 \x00S\x00t\x00a\x00t\x00u\x00s\x00"\x00,\x00"\x00D\x00a\x00t\x00e\x00"\x00,\x00"\x00D\x00e\x00s\x00c\x00r\x00i\x00p\x00t\x00i\x00o\x00n\x00"\x00,\x00"\x00T\x00e\x00a\x00m\x00 \x00N\x00a\x00m\x00e\x00"\x00,\x00"\x00C\x00r\x00e\x00a\x00t\x00e\x00d\x00B\x00y\x00"\x00,\x00"\x00i\x00n\x00v\x00o\x00i\x00c\x00e\x00 \x00C\x00r\x00e\x00a\x00t\x00e\x00d\x00 \x00B\x00y\x00"\x00'
而不是我刚刚通过df时看到的内容。