通过带有标题的Python导出CSV&;日期格式

通过带有标题的Python导出CSV&;日期格式,python,csv,date,datetime,cx-oracle,Python,Csv,Date,Datetime,Cx Oracle,我希望将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 EXPORT0

我希望将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试图逃避路径中的任何反斜杠。

使用“with”contextManager时,您不需要关闭文件“fout”,而且,您需要尊重缩进级别。我得到以下错误Martin。。。。。。。。回溯(最近一次调用):文件“C:/Users/803261400/desktop/Export2.py”,第25行,第[0]=datetime.strTime(第[0]行,“%d/%m/%y%H:%m”).strftime(“%d/%m/%y”)AttributeError:“模块”对象没有属性“strptime”对不起,忘记复制导入,您需要从datetime导入datetime添加
,谢谢你的帮助。我收到了相同的错误…….回溯(最近一次调用):文件“C:/Users/803261400/desktop/Export2.py”,第23行,第[0]行=datetime.strtime(第[0]行,“%d/%m/%y%H:%m”)。strftime(“%d/%m/%y”)类型错误:必须是字符串,不是datetime.datetime>>>您知道您使用的是哪个版本的Python吗?我假设第一列的类型是字符串。您能添加打印类型(第[0]行)吗?
并告诉我它是怎么写的。