Я прочитал текстовый файл объемом 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
Мой вопрос: есть ли лучший способ сделать это? Мой путь выше занимает много времени, и иногда он не работает, из-за ошибки памяти.