Pandas читать csv с дополнительными запятыми в столбце
Я читаю базовый файл csv, где столбцы разделяются запятыми этими именами столбцов:
userid, username, body
Однако столбец тела представляет собой строку, которая может содержать запятые. Очевидно, что это вызывает проблему, а pandas выдает ошибку:
CParserError: Error tokenizing data. C error: Expected 3 fields in line 3, saw 8
Есть ли способ сообщить pandas игнорировать запятые в определенном столбце или способ обойти эту проблему?
Ответы
Ответ 1
Представьте, что мы читаем вашу фреймворк данных comma.csv
:
userid, username, body
01, n1, 'string1, string2'
Единственное, что вы можете сделать, это указать разделитель строк в столбце:
df = pd.read_csv('comma.csv', quotechar="'")
В этом случае строки, разделенные символом '
, считаются полными, вне зависимости от того, какие запятые внутри них.
Ответ 2
Добавьте в протокол read_csv() функции usecols и lineterminator, которые n - длина ваших столбцов.
В моем случае:
n = 5 #define yours
df = pd.read_csv(file,
usecols=range(n),
lineterminator='\n',
header=None)