【发布时间】:2017-11-24 20:17:07
【问题描述】:
我之前在 Stack Overflow 上多次看到过这个问题,但是,我没有看到有人在这里正确地提出或回答这个问题。所以,这是我的问题:我有一个名为 selected.csv 的 .csv 文件,包含三列 - 日期 (LT)、AQI 和原始浓度。日期的格式为 dd-mm-yyyy hh:mm。我想将日期的格式转换为 yyyy-mm-dd,然后将更正后的数据保存为三列 - 日期、AQI 和原始浓度。作为更正的.csv。我尝试了下面键入的代码,但无济于事。
import csv
from datetime import datetime
output_file = open(r"C:\Users\Win-8.1\Desktop\delhi\corrected.csv", "wb")
fieldnames = ['Date', 'AQI' , 'Raw Conc.']
writer = csv.DictWriter(output_file, fieldnames = fieldnames)
writer.writeheader()
with open(r"C:\Users\Win-8.1\Desktop\delhi\selected.csv") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
output_row = {}
output_row['Date'] = datetime.datetime.strptime(row['Date (LT)'], '%d-%m-%Y %H:%M').strftime('%Y-%m-%d')
output_row['AQI'] = row['AQI']
output_row['Raw Conc.'] = row['Raw Conc.']
writer.writerow(output_row)
output_file.close()
【问题讨论】:
-
这个问题的措辞不同,并且之前多次问过,但是,他们似乎都暗示 datetime.datetime.strptime(string, 'old format').strptime('new format')作为解决方案,在上面的代码中不起作用。
标签: python-2.7 csv date