【发布时间】:2018-08-19 10:12:10
【问题描述】:
我正在尝试从谷歌表格中统一不同的日期格式。我将文件下载为 csv 并开始尝试,但问题是我的格式完全不同。我最初是从 python 开始的,但没有重新格式化所有内容。我尝试使用 php 中的 strtotime(),但它没有给出正确的结果,因为有时格式是 mm-dd-yyyy,有时是 yyyy。我真正关心的是一年的最后两位数字。如果是“2012 年 8 月 3 日”,那么我只需要“12”。这是给我最好结果的python代码,但仍然没有清理所有内容。
import csv
f = open('ViceNews_FullOISData.csv', encoding='latin-1', newline='')
reader = csv.reader(f)
o = open('clean.csv', 'w', encoding='latin-1', newline='')
writer = csv.writer(o)
count = 0
for row in reader:
if len(row[0].strip()) == 4:
writer.writerow(row)
count = count + 1
else:
date_d = row[0]
if date_d[-4:].find("-") != -1 or date_d[-4:].find("/") != -1:
year_c = date_d[:4]
else:
year_c = date_d[-4:]
row[0] = year_c
writer.writerow(row)
count = count + 1
print (count)
f.close()
o.close()
感谢任何建议。这是谷歌文档上的文件: csv file
【问题讨论】:
标签: php python-3.x datetime strtotime strptime