【问题标题】:Python: Create Dataframes with different names in LoopPython:在循环中创建具有不同名称的数据框
【发布时间】:2018-09-25 06:52:53
【问题描述】:

我目前有一个语言列表:

languages_list =['EN', 'DE', 'FR']

每种语言都有不同的 CSV 文件。

我需要创建一个循环,通过上传特定的 CSV 文件为每种语言创建一个新数据框:

for language in languages_list:
tables_ + str{language} = pd.read_csv(language + ".csv", header = 0, encoding = "latin1")

在这种情况下,所需的输出应该是 3x 数据帧:

  1. tables_EN,包含 EN csv
  2. tables_FR,包含 FR csv
  3. tables_DE,包含 DE csv

是否有可能得到描述的输出?

【问题讨论】:

  • 编辑了我的问题,抱歉不够清楚

标签: python python-3.x pandas loops dataframe


【解决方案1】:

我认为更好的是创建dictionary of DataFrames like:

tables={x: pd.read_csv(x + ".csv", header = 0, encoding = "latin1") for x in languages_list}

print (tables['EN'])

【讨论】:

  • 字典方法是要走的路。创建这样的全局变量是非常糟糕的做法,在这种情况下完全可以避免。使用字典方法还可以在脚本的其余部分中更轻松地循环 3 个表。
  • 好的,谢谢你们!我是 python 新手,所以我将尝试按照您的建议并使用 dict 构建我的脚本。肯定会在途中学到一些东西!
  • @Joost - 是的,你是对的,所以删除了第二个解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-11
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多