Параметр, заключенный в кавычки в read_csv

#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, вам следует использовать его и при чтении.