Я экспортировал свои контакты 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?И что еще более важно, есть ли стандартный способ их прочитать и записать (соблюдая этот стандарт)?