首页 > 解决方案 > 如何将多个文件读取到数据框whiteout 中获取“已终止”错误消息?

问题描述

我试图将多个 csv 文件提取到熊猫数据框中。该文件夹共有 16.6 GB,由多个 csv 文件组成。当我在一段时间后运行它时,我得到一个“Killed”错误。有没有办法解决这个问题?

代码:

def fetchFolder(folderPath):
    print('Loading files...')
    all_files = glob.glob(folderPath + "/*.csv")

    li = []
    for filename in all_files:
        df = pd.read_csv(filename, index_col=None, header=0)
        li.append(df)

    histTrades = pd.concat(li, axis=0, ignore_index=True)
    histTrades = histTrades.set_index('date')
    histTrades.index = pd.to_datetime(histTrades.index, unit='ms')

    return histTrades

fetchFolder(r'/run/media/kobej/B204D33B04D300F1/Work/backtra/data/BTCUSDT')

输出

Loading files...
Killed

标签: pythonpandascsv

解决方案


您在这里有 2 个选项。

选项 - 1:使用库来处理大型 csv,例如dask. 如下所示使用它。

import dask.dataframe as dd
df = dd.read_csv(file_name.csv)

选项 -2:以“n”行的块处理数据。

   #Process 5000 rows at a time
   chunk_csv = pd.read_csv('fileName.csv', iterator=True, chunksize=5000)  
   df = pd.concat(chunk_csv, ignore_index=True)

      

推荐阅读