我将Google通讯录导出到CSV文件中,并尝试使用csv
进行解析:
import csv
contacts = csv.DictReader(open('google.csv', 'rb'))
for c in contacts:
print(c)
这会因csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)
遵循提示:
import csv
contacts = csv.DictReader(open('google.csv', 'r'))
for c in contacts:
print(c)
现在崩溃,_csv.Error: line contains NULL byte
。
当查看文件的详细信息时,从NULL
与普通符号交错的角度来看,它确实看起来很奇怪:
00000000 ff fe 4e 00 61 00 6d 00 65 00 2c 00 47 00 69 00 |..N.a.m.e.,.G.i.|
00000010 76 00 65 00 6e 00 20 00 4e 00 61 00 6d 00 65 00 |v.e.n. .N.a.m.e.|
00000020 2c 00 41 00 64 00 64 00 69 00 74 00 69 00 6f 00 |,.A.d.d.i.t.i.o.|
00000030 6e 00 61 00 6c 00 20 00 4e 00 61 00 6d 00 65 00 |n.a.l. .N.a.m.e.|
00000040 2c 00 46 00 61 00 6d 00 69 00 6c 00 79 00 20 00 |,.F.a.m.i.l.y. .|
00000050 4e 00 61 00 6d 00 65 00 2c 00 59 00 6f 00 6d 00 |N.a.m.e.,.Y.o.m.|
00000060 69 00 20 00 4e 00 61 00 6d 00 65 00 2c 00 47 00 |i. .N.a.m.e.,.G.|
00000070 69 00 76 00 65 00 6e 00 20 00 4e 00 61 00 6d 00 |i.v.e.n. .N.a.m.|
这是CSV文件的正常现象吗?更重要的是,是否有一种标准的方法可以读入和写出它们(保持该标准)?
答案 0 :(得分:0)
您可以使用Pandas库来尝试它,这是我以前读取csv文件的方式。
import pandas as pd
contacts = pd.read_csv('google.csv', na_values=['NA'])
我也发现了这个link也许可以为您提供更多帮助。