如何读取pandas文件夹中的所有csv文件?

kmp*_*975 2 directory pandas

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

Sab*_*kur 8

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)
Run Code Online (Sandbox Code Playgroud)

  • 这个答案不是。切勿在循环中重复附加 DataFrame,因为它会重复分配内存!每个“df.append”都会复制整个 DataFrame。ni1o1的答案是要使用。 (4认同)

ni1*_*1o1 7

这是一种更快的方法。在大 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)
Run Code Online (Sandbox Code Playgroud)