Подтвердить что ты не робот

Pandas читать csv с дополнительными запятыми в столбце

Я читаю базовый файл csv, где столбцы разделяются запятыми этими именами столбцов:

userid, username, body

Однако столбец тела представляет собой строку, которая может содержать запятые. Очевидно, что это вызывает проблему, а pandas выдает ошибку:

CParserError: Error tokenizing data. C error: Expected 3 fields in line 3, saw 8

Есть ли способ сообщить pandas игнорировать запятые в определенном столбце или способ обойти эту проблему?

4b9b3361

Ответ 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)