【问题标题】:Python: Reading multiple CSV files, and assigning each to a different variablePython:读取多个 CSV 文件,并将每个文件分配给不同的变量
【发布时间】:2019-05-11 12:56:25
【问题描述】:

我想读取路径中的所有 CSV 文件,并将它们分配给我的 python 代码中的不同变量名。
例如,

dshfd9438dks.csv
ansjewi38Ekd.csv

会变成:

df1 and df2

我现在的代码是:

for f in glob.iglob('*.csv'): 
df = pd.read_csv(f, low_memory=False)

我将如何操作它以向 df var 添加一个数字?

【问题讨论】:

  • 字典如前所述。变量旨在成为开发人员的反映,在创建过程中没有自动化。

标签: python loops csv


【解决方案1】:

对可变数量的变量使用字典

明确命名链接变量是不好的做法。在这种情况下,您可以使用带有enumerate 的字典:

dfs = {}
for idx, f in enumerate(glob.iglob('*.csv'), 1):
    dfs[idx] = pd.read_csv(f, low_memory=False)

如果您愿意,可以将其转换为字典理解:

files = enumerate(glob.iglob('*.csv'), 1)
dfs = {idx: pd.read_csv(f, low_memory=False) for idx, f in files}

然后通过dfs[1]dfs[2] 等访问您的数据帧。

【讨论】:

    【解决方案2】:

    为什么不把它们放在字典里呢?

    dfs = dict(("df{}".format(i), pd.read_csv(f)) for i,f in enumerate(glob.iglob('*.csv')))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 2016-06-14
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      相关资源
      最近更新 更多