【问题标题】:Python - Attribute dynamic name DataFramePython - 属性动态名称 DataFrame
【发布时间】:2018-04-16 06:47:09
【问题描述】:

我想用循环打开几个文件 (csv)。 问题是我不能给出动态名称,所以我打开一个数据框而不是 12 个。

我所有的路径都在字典中。

Key         Value
key1        D:/Users/Documents/file1-key1.csv
            D:/Users/Documents/file2-key1.csv
key2        D:/Users/Documents/file3-key2.csv
            D:/Users/Documents/file2-key2.csv

这是我的代码:

l=0
for key, value in dicstagefolder.items():
    for value in value:
        l=l+1
        name = key+"-"+str(l)
        name= pd.read_csv(value)

谢谢,劳伦特

【问题讨论】:

  • 使用列表或字典来存储数据帧,或一次在内存中处理它们。
  • 感谢 miradulo,我将数据帧存储在列表中。但是我如何将名称归因于我的不同数据框?
  • 在每个 DataFrame 上设置一个属性?我不确定你在问什么。
  • 我的存储库中有 12 个 csv 文件。我想一次加载它们并为每个文件(数据框加载)加载命名。我希望更清楚。
  • 通过 name,您的意思是您希望每个 DataFrame 在内存中使用不同的变量吗?

标签: python-2.7 pandas dictionary for-loop dataframe


【解决方案1】:

将您的 DataFrame 分配给字典中的值并更改每个 DataFrame 的键。例

    dict_of_dfs = {}
    l=0
    for key, value in dicstagefolder.items():
        for v in value:
            l=l+1
            name = key+"-"+str(l)
            dict_of_dfs.update(**{name: pd.read_csv(v)})

另外,尝试在你的内部循环中使用 for v in value。否则,您可能会遇到 value 关键字被覆盖的问题。

【讨论】:

    猜你喜欢
    • 2012-08-21
    • 1970-01-01
    • 2016-10-21
    • 2017-07-28
    • 2021-11-29
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多