Панды read_csv не читают все строки в файле

Трудно получить хорошее представление о JS или написать больше, чем что-либо тривиальное в нем, если вы не понимаете его полностью. Вы не можете просто позволить себе быстро окунуться :) Я думаю, что лучший способ начать работу с JS - сначала посмотреть эти видео-лекции Дугласа Крокфорда - http://yuiblog.com/crockford/ , который охватывает это и то, и все остальное о JS.

0
задан Ekrem Solmaz 3 March 2019 в 20:48
поделиться

1 ответ

По имени ваших заголовков можно ожидать, что у вас есть свободный текст. Это может легко отключить любой CSV-парсер. В любом случае, вот версия, которая позволяет легко выявлять несоответствия в CSV или, по крайней мере, дает подсказку о том, что нужно искать ..., а затем помещает ее в кадр данных.

import csv
import pandas as pd

with open('file.csv') as fc:
    creader = csv.reader(fc) # add settings as needed
    rows = [r for r in creader]
# check consistency of rows
print(len(rows))
print(set((len(r) for r in rows)))
print(tuple(((i, r) for i, r in enumerate(rows) if len(r) == bougus_nbr)))
# find bougus lines and modify in memory, or change csv and re-read it.

# assuming there are headers...
columns = list(zip(*rows))
df = pd.DataFrame({k: v for k, *v in columns if k in ['tweet', 'Sentiment']})

Если набор данных действительно большой, код должен быть переписан, чтобы использовать только генераторы (что не так сложно сделать).

Единственное, что не следует забывать при использовании такой техники, это то, что, если у вас есть числа, эти столбцы должны быть преобразованы в подходящий тип данных, если это необходимо, но это становится самоочевидным, если попытаться выполнить математику на кадре данных, заполненном строками.

0
ответ дан ahed87 3 March 2019 в 20:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: