【发布时间】:2021-07-30 02:57:35
【问题描述】:
我想使用 python 中的pandas 模块将一些来自红移表的数据附加到 csv 文件中。在 python 中,我可以使用psycopg2 模块成功地连接和检索redshift 表中的行。现在,我将日期数据存储在 csv 中。所以我需要首先在 csv 中创建一个新的日期列,然后将检索到的数据附加到该新列中。
我正在使用以下命令从红移表中读取:
conn=psycopg2.connect( host='my_db_hostname', port=`portnumber`, user='username', password='password', dbname='db')
conn.autocommit = True
cur=conn.cursor()
cur.execute(""" select emp_name, emp_login_count from public.emp_login_detail where login_date=current_date """)
records=cur.fetchall()
cur.close()
现在,我想将这些 emp_name 和 emp_login_count 列附加到现有的 csv 中。下面是 csv 的快照:
每天我都需要在 csv 中添加新的日期列,然后我需要将 emp_login_count 与相应人的姓名相对应。
我是 Pandas 的新手,不知道如何实现这一点。有人可以帮帮我吗?
【问题讨论】:
-
我们可以看到
records的样本/示例值吗?您现在拥有emp_login_count中的登录计数,并且您想将其更改为今天的日期,对吗? -
CSV对追加不友好,特别是如果您想追加列。您必须每次都重新阅读、添加该列并将其写回,这会随着时间的推移而变得更加昂贵。我建议您重新考虑如何存储数据。由于更新是按日期进行的,我建议您按日期“分区”数据集,并使用 parquet 之类的东西。如果你想保持简单,你可以自己管理分区,并继续使用CSVs。 -
你可能想在这里查看这个答案:stackoverflow.com/a/34485965/8523960
标签: python pandas dataframe export-to-csv