#python #pandas #quoting
#питон #pandas #цитирование #python
Вопрос:
каково точное использование параметра, заключенного в кавычки, в pandas.read_csv()? Я проверил документацию, но не могу ее понять.
df = pd.read_csv("labeledTrainData.tsv", header=0, delimiter="t", quoting=3)
Комментарии:
1. В основном я использовал его с
quoting=3
, когда базовые данные проблематичны и где-то есть несбалансированная цитата. Обычно в какой-то момент это приводит к катастрофической и загадочной ошибке синтаксического анализа, в которой говорится, что в какой-то строке был обнаружен символ EoF, хотя реальной проблемой была несбалансированная цитата несколькими тысячами строк выше.
Ответ №1:
Это связано с тем, как интерпретировать заключенные в кавычки поля в файле, который вы читаете. Они определены в модуле csv.
csv.QUOTE_ALL Указывает объектам writer заключать в кавычки все поля.
csv.QUOTE_MINIMAL Указывает объектам writer заключать в кавычки только те поля, которые содержат специальные символы, такие как разделитель, символ кавычки или любой из символов в lineterminator.
csv.QUOTE_NONNUMERIC Инструктирует объекты writer заключать в кавычки все нечисловые поля.
Инструктирует читателя преобразовать все поля, не заключенные в кавычки, в тип float.
csv.QUOTE_NONE Указывает объектам writer никогда не заключать поля в кавычки. Когда текущий разделитель встречается в выходных данных, ему предшествует текущий символ escapechar. Если escapechar не установлен, программа записи выдаст сообщение об ошибке, если встретятся какие-либо символы, требующие экранирования.
По умолчанию он имеет значение minimaL и очень часто может сохраняться там. Однако, если вы использовали один из другого для записи csv, вам следует использовать его и при чтении.