Как читать в csv, пока количество полей не станет слишком большим - PullRequest
0 голосов
/ 07 июня 2018

У меня есть CSV, который я прочитал с:

df = pd.read_csv("file.csv")

Все строки имеют 37 полей, пока одно с 38 и оттуда он поврежден.Как мне просто прочитать строки с 37 полями?

Ответы [ 3 ]

0 голосов
/ 07 июня 2018

Вы можете указать диапазон столбцов, просто распакуйте его с помощью *:

df = pd.read_csv("file.csv", usecols=[*range(37)])
0 голосов
/ 07 июня 2018

Из документа: http://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.read_csv.html

error_bad_lines: логическое, по умолчанию True

Строки со слишком большим количеством полей (например, строка CSV со слишком большим количеством запятых) будут по умолчанию вызыватьвозникнет исключение, и DataFrame не будет возвращен.Если False, то эти «плохие строки» будут удалены из возвращаемого DataFrame.

Так что вы можете использовать:

df = pd.read_csv("file.csv", error_bad_lines=False)

Но, возможно, лучше отредактировать ваш .csvфайл и исправить соответствующую строку правильно.:)

0 голосов
/ 07 июня 2018

Будет проще предварительно обработать CSV-файл, оставив только интересующие вас строки и перейдя к использованию метода pd.read_csv, как обычно.

Однако, если вы хотите попробовать, выможно посмотреть документацию read_csv здесь , кажется, что там есть несколько полезных опций, таких как skiprows например

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...