从CSV文件中,我有一列日期(yyyy-mm-dd
)。
为了获得数年的数据快照,我想通过将日期数据从yyyy-mm-dd
截断到yyyy
来每年对数据进行分类。
例如,如果我想要编辑" datecolumn"来自"表" (所以table.datecolumn
),我如何使用替换功能?或者还有另一种方式吗?
答案 0 :(得分:1)
也许这会帮助你开始......
import csv
import datetime
date_column_index = 1
with open('infile.csv','rb') as infile, open('outfile.csv','wb') as outfile:
csvr = csv.reader(infile, delimiter=',')
csvw = csv.writer(outfile, delimiter=',')
for row in csvr:
temprow = row
temprow[date_column_index] = datetime.datetime.strptime(temprow[date_column_index],'%Y-%m-%d').strftime('%Y')
csvw.writerow(temprow)
它假定没有标题。
datetime.datetime.strptime使用格式为'YYYY-MM-DD'的csv输入创建一个日期时间对象,然后strftime输出一个只有'YYYY'的字符串。
Here更多关于strptime / strftime格式化。
答案 1 :(得分:0)
您可以直接在Excel中执行此操作。我希望指定日期输入格式和指定日期输出格式一样容易,但幸运的是它只是one concise line。
在单元格decodeURI("https://www.google.com/?q=%D0%B0%D0%B1%D0%B2")
//returns https://www.google.com/?q=абв
中:
A2
在单元格08-Feb
中:
B2
这会获取=DATEVALUE(RIGHT(A2,3)&"-20"&LEFT(A2,2))
单元格A2
- 大多数RIGHT
字符,为其添加3
,然后添加-
单元格A2
最近LEFT
个字符,用于创建2
函数识别的字符串:
DATEVALUE
然后它可以将日期解析为实际日期,并进行各种过滤,排序和比较等。然后,您可以填写以创建完整的已分析日期列,并使用它来替换原始列或保持两列完整。