【问题标题】:How to read all csv files in a folder in pandas?如何读取熊猫文件夹中的所有csv文件?
【发布时间】:2020-12-03 19:02:15
【问题描述】:

每个月我都会以 csv 格式下载整个分类帐并将其保存到一个文件夹中。如何在 pandas 中将其作为单个数据帧读取

【问题讨论】:

标签: pandas directory


【解决方案1】:

fthomson 的答案,但最后一行应该是

import pandas as pd
import glob
files = glob.glob("path/*.csv")

df = pd.DataFrame()
for f in files:
    csv = pd.read_csv(f)
    df = df.append(csv)

【讨论】:

  • 这个答案不是。永远不要在循环中重复附加 DataFrame,因为它会重复分配内存!每个 df.append 复制整个 DataFrame。 ni1o1的答案是要使用的。
【解决方案2】:

这是一种更快的方法。在大 DataFrame 之后附加小 DataFrame 会花费很多。所以更好的方法是将所有DataFrame追加到一个列表中,并使用pd.concat连接所有DataFrame。

import pandas as pd
import glob
files = glob.glob("path/*.csv")
df = []
for f in files:
    csv = pd.read_csv(f)
    df.append(csv)
df = pd.concat(df)

【讨论】:

    【解决方案3】:

    我是凭记忆做的,但这是一般的想法

    import pandas as pd
    import glob
    files = glob.glob("path/*.csv")
    
    df = pd.DataFrame()
    for f in files:
        csv = pd.read_csv(f)
        df = df.append(csv)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多