通过 Python 使用 headers 和日期格式导出 CSV
Exporting CSV via Python with headers & date formatting
我希望将 Export01.csv 的第一列格式化为 dd/mm/yyyy。遗憾的是,我导出时的当前格式是 dd/mm/yy mm:mm.
有人可以帮我调整我的代码,以便在导入过程中更改日期吗?
import sys
import cx_Oracle
import csv
connection = cx_Oracle.connect('user','password','ORPM2')
cursor = connection.cursor()
SQL="SELECT * FROM EXPORT01"
cursor.execute(SQL)
filename="C:\Projects\SQL_Export\Export01.csv"
with open(filename,"wb") as fout:
writer = csv.writer(fout)
writer.writerow([ i[0] for i in cursor.description ]) # heading row
writer.writerows(cursor.fetchall())
fout.close()
cursor.close()
connection.close()
我在 Export01 中添加了前两列数据的样本
WEEK_ENDING ORDER_HEADLINE
12/02/2016 00:00 Headline
15/01/2016 00:00 Headline
15/01/2016 00:00 Headline
如果一次处理一行 fetchall,则可以按如下方式转换第一列条目:
from datetime import datetime
import sys
import cx_Oracle
import csv
connection = cx_Oracle.connect('user','password', 'ORPM2')
cursor = connection.cursor()
SQL="SELECT * FROM EXPORT01"
cursor.execute(SQL)
filename = r"C:\Projects\SQL_Export\Export01.csv"
with open(filename, "wb") as fout:
writer = csv.writer(fout)
writer.writerow([i[0] for i in cursor.description ]) # heading row
for row in cursor.fetchall():
cols = list(row)
cols[0] = cols[0].strftime("%d/%m/%Y")
writer.writerow(cols)
cursor.close()
connection.close()
另请注意,您使用的 with
语句将在您离开文件范围时自动关闭该文件。我还建议您在文件路径前加上 r
以避免 Python 试图转义路径中的任何反斜杠。
我希望将 Export01.csv 的第一列格式化为 dd/mm/yyyy。遗憾的是,我导出时的当前格式是 dd/mm/yy mm:mm.
有人可以帮我调整我的代码,以便在导入过程中更改日期吗?
import sys
import cx_Oracle
import csv
connection = cx_Oracle.connect('user','password','ORPM2')
cursor = connection.cursor()
SQL="SELECT * FROM EXPORT01"
cursor.execute(SQL)
filename="C:\Projects\SQL_Export\Export01.csv"
with open(filename,"wb") as fout:
writer = csv.writer(fout)
writer.writerow([ i[0] for i in cursor.description ]) # heading row
writer.writerows(cursor.fetchall())
fout.close()
cursor.close()
connection.close()
我在 Export01 中添加了前两列数据的样本
WEEK_ENDING ORDER_HEADLINE
12/02/2016 00:00 Headline
15/01/2016 00:00 Headline
15/01/2016 00:00 Headline
如果一次处理一行 fetchall,则可以按如下方式转换第一列条目:
from datetime import datetime
import sys
import cx_Oracle
import csv
connection = cx_Oracle.connect('user','password', 'ORPM2')
cursor = connection.cursor()
SQL="SELECT * FROM EXPORT01"
cursor.execute(SQL)
filename = r"C:\Projects\SQL_Export\Export01.csv"
with open(filename, "wb") as fout:
writer = csv.writer(fout)
writer.writerow([i[0] for i in cursor.description ]) # heading row
for row in cursor.fetchall():
cols = list(row)
cols[0] = cols[0].strftime("%d/%m/%Y")
writer.writerow(cols)
cursor.close()
connection.close()
另请注意,您使用的 with
语句将在您离开文件范围时自动关闭该文件。我还建议您在文件路径前加上 r
以避免 Python 试图转义路径中的任何反斜杠。