【发布时间】:2021-07-05 21:02:08
【问题描述】:
下面的函数目标是为for循环生成的每个表生成一个CSV。不幸的是,每个 CSV 都会覆盖前一个。如何将结果存储在多个不同的 CSV 中?
cur = conn.cursor()
tables = ['users', 'chunks']
for table in tables:
sql = """SELECT * FROM dwh.""" + table
cur.execute(sql)
rows = cur.fetchall()
rows_df = pd.DataFrame(rows)
rows_df.to_csv("dwh_users.csv")
【问题讨论】:
-
你好像知道变量的概念。如果您尝试使用变量而不是
"dwh_users.csv"会怎样? -
不确定我是否完全了解变量的概念!顺便说一句,该函数有效,我可以看到不同的查询结果正确存储在生成的唯一 csv 中(测试很简单,只需反转表中的值 -> 表 = ['users', 'chunks'])。但是,这就是问题所在,我不知道如何生成多个单独的 CSV,每个表中的每个值一个 = ['users', 'chunks']。
-
那您认为
"""SELECT * FROM dwh.""" + table行在做什么?如果你尝试做rows_df.to_csv("dwh_" + table + ".csv")怎么办? -
完美,有效!谢谢 :) @DeepSpace
-
为什么,哦,为什么,在这里使用熊猫?
标签: python python-3.x for-loop