【问题标题】:Merge csv files - long processing time合并 csv 文件 - 处理时间长
【发布时间】:2021-01-29 08:28:43
【问题描述】:

我的文件夹包含多个(数百到数千个)csv 文件,每个文件大约有 150 行和 2 列,我需要将它们合并到 1 个摘要文件中,以便以后用于绘制我的数据。 - 每个文件=轨迹曲线

目前我使用 pandas concat

df=pd.DataFrame()
for file in folder:
    df_temp = pd.read_csv(file, skiprows = 10, usecols = [2,3])
    df = pd.concat([df, df_temp], ignore_index = True)

我现在遇到的问题是处理时间过长(10 分钟以上)和偶尔的 MemoryError。

是否有一些内存占用较少且合理的方法来合并 csv 文件?

【问题讨论】:

    标签: python pandas merge concatenation


    【解决方案1】:

    您可以先创建DataFrames 列表,然后传递给concat

    dfs=[]
    for file in folder:
        dfs.append(pd.read_csv(file, skiprows = 10, usecols = [2,3]))
    df = pd.concat(dfs, ignore_index = True)
    

    列表理解的解决方案:

    dfs = [pd.read_csv(file, skiprows = 10, usecols = [2,3]) for file in folder]
    df = pd.concat(dfs, ignore_index = True)
    

    【讨论】:

      猜你喜欢
      • 2020-05-08
      • 1970-01-01
      • 2020-12-19
      • 2014-03-31
      • 2015-05-05
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多