pd.read_csv текстовый файл 750 МБ - PullRequest
0 голосов
/ 04 марта 2020

Я прочитал текстовый файл объемом 750 МБ, используя pd.read_csv, в верхних 5 строках текста меньше полей, чем в остальных строках. Я сделал следующее:

ICP_CTCT_TRADER_MEP=pd.read_csv('EDA_CTCT_TRADER_MEP.txt', sep=',', header=None, skiprows=5, encoding='ISO-8859-1',engine='python')

5 верхних строк:

0   1   2   3   4   5   6   7   8   9   ... 12  13  14  15  16  17  18  19  20  21
DET 0000000001CP630 METERSUMMARY    MET-10748517    17/08/2013  20/08/2013 17:11:28 NGCM    NGCM20130817MM010100000.txt Active  NaN NaN NaN NaN NGCM    1   ... N   Y   2   N   NaN None    None    None    None    None
METERINSTALL    MET-10748517    17/08/2013  20/08/2013 17:11:28 NGCM    NGCM20130817MM010100000.txt Active  NaN NaN NaN NaN 1   1   ... HHR F   21/10/2011  21/10/2026  N   X   03/05/2023  N145361 90  NaN
METERCOMP   MET-10748517    17/08/2013  20/08/2013 17:11:28 NGCM    NGCM20130817MM010100000.txt Active  NaN NaN NaN NaN 1   211313791   ... Y   1   1   NGCS    NaN None    None    None    None    None
METERCHANNEL    MET-10748517    17/08/2013  20/08/2013 17:11:28 NGCM    NGCM20130817MM010100000.txt Active  NaN NaN NaN NaN 1   211313791   ... UN  24  kWh X   C   Y   NaN None    None    None
17/08/2013  20/08/2013 17:11:28 NGCM    NGCM20130817MM010100000.txt Active  NaN NaN NaN NaN 1   211313791   ... CN  17  kWh X   C   Y   NaN None    None    None

Автозаголовки из шестых столбцов, заголовок для первых 5 столбцов отсутствует. Мое решение - экспортировать его в .csv и импортировать обратно, чтобы получить правильный заголовок для каждого столбца, как показано ниже

ICP_CTCT_TRADER_MEP=ICP_CTCT_TRADER_MEP.dropna(thresh=200000, axis='columns') # to remove the NaN Columns
ICP_CTCT_TRADER_MEP.to_csv('ICP_CTCT_TRADER_MEP.csv') # to export it to a .csv file
ICP_CTCT_TRADER_MEP_1=pd.read_csv('ICP_CTCT_TRADER_MEP.csv') #to import it back again

Мой вопрос: есть ли лучший способ сделать это? Мой путь выше занимает много времени, и иногда он не работает, из-за ошибки памяти.

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