首页 > 解决方案 > 将python函数结果存储在不同的csv中?

问题描述

以下函数目标是为 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")

标签: pythonpython-3.xfor-loop

解决方案


你可以这样做:

cur = conn.cursor()
tables = ['users', 'chunks']

for i, table in enumerate(tables):
    sql = """SELECT * FROM dwh.""" + table
    cur.execute(sql)

    rows = cur.fetchall()
    rows_df = pd.DataFrame(rows)
    rows_df.to_csv(f"dwh_users_{i}.csv")

这将根据列表中元素的索引命名文件...


推荐阅读