Python 将数据帧保存到多个保留数据帧名称的CSV

Python 将数据帧保存到多个保留数据帧名称的CSV,python,python-3.x,pandas,for-loop,Python,Python 3.x,Pandas,For Loop,在一般代码中,如何将多个数据帧导出到具有相同标题的CSV 我试过: dframes_list = [economy, finance, language] for i, df in enumerate(dframes_list, 1): filename_attempt1 = "{}.csv".format(i) filename_attempt2= f"{i}.csv" df.to_save(filename_attempt2)

在一般代码中,如何将多个数据帧导出到具有相同标题的CSV

我试过:

dframes_list = [economy, finance, language]

for i, df in enumerate(dframes_list, 1):
    filename_attempt1 = "{}.csv".format(i)
    filename_attempt2= f"{i}.csv"
    df.to_save(filename_attempt2)
预期产出:

file saved: "economy.csv"
file saved: "finance.csv"
file saved: "language.csv"

我认为在python中创建字符串变量,因为然后生成字符串是不可能的

然后最好是为字符串中的名称创建另一个列表,并使用
zip

dframes_list = [economy, finance, language]
names = ['economy','finance','language']
for i, df in zip(names, dframes_list):
    filename_attempt1 = "df_{}.csv".format(i)
另一个想法是创建数据帧的dict:

dframes_dict = {'economy': economy, 'finance': finance, 'language': language}
for i, df in dframes_dict.items():
    filename_attempt1 = "df_{}.csv".format(i)
如果需要使用数据帧的dict,请使用:

 for k, v in dframes_dict.items():

     v = v.set_index('date')
     #another code for processing each DataFrame

     dframes_dict[k] = v

如果在笔记本上执行此操作,可以使用hack搜索
locals()
,并使用regex匹配“dframes_list=[.+]”,该值应返回字符串值

'dframes_list = [economy, finance, language]'
然后你可以做替换,直到你进入“经济、金融、语言”,在这一点上,你可以拆分并得到一个列表

colab版本是这样工作的

temp_local = dict(locals())
data = {}
for k,v in temp_local.items():
  try:
    if re.match('dframes_list = \[.+\]', v):
      data[k] = v
      print(k, v)
  except:
    pass
那么

其中,
已从
数据中识别


不建议这样做。

如何生成
dframes\u list=[经济、金融、语言]
?谢谢。如何更新数据帧或至少是字典键?如果我在forloop中执行
df=df.set_index('date')
,当我在forloop外运行时,不会发生任何变化:
dframes_list['economy']
@asd-给我一点时间。@asd-添加了答案,您需要在最后一步中设置dfs的虚拟值。非常感谢@jezrael
names = re.findall('\[.+\]', data[key])[0].replace('[', '').replace(']', '').split(',')