Google App Engine: тип кодировки для CSV? - PullRequest
1 голос
/ 04 июля 2010

Я пытаюсь загрузить данные, используя appcfg.py upload_data.Мой CSV был закодирован как ANSI, но Алекс Мартелли сказал, что это, вероятно, UTF-8.Так что я переключился на это (используя Notepad ++).

Это выдало ошибку в самом первом символе моего файла:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

Итак, я переключаюсь обратно на ANSI, я получаю это:

Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?

Хммм ... Похоже, у кого-то еще была похожая проблема здесь .Как наиболее эффективно удалить символы новой строки в конце каждой строки, используя Notepad ++?Или я должен заниматься чем-то еще?

1 Ответ

0 голосов
/ 17 февраля 2011

У меня была похожая проблема при загрузке файлов по HTTP, который мог быть UTF-8.Я исправил это, сначала преобразовав строку в юникод, используя:

unicodecontent = unicode(content, 'utf8')

Затем каждый раз, когда мне нужно получить доступ к нему как ascii, я бы закодировал обратно как UTF-8:

unicodecontent.encode('utf_8')

Этоработал у меня при попытке разобрать файл XML с ElementTree (fromstring)

...