我有一个巨大的CSV文件,文件中的第6列被命名为" date" ,我想更改此列中条目的格式,无论它们具有yyyy-mm-dd格式的格式。
我只知道如何使用Excel更改日期格式,但此文件太大而无法通过Excel打开。
由于
答案 0 :(得分:0)
如果您可以将文件读入R,则可以使用
library(lubridate)
YourData$date <- dmy(YourData$date)
YourData$date <- format(YourData$date, format = "%Y-%m-%d")
然后在必要时写回文件。
答案 1 :(得分:0)
而不是转换为日期时间,只需拆分/
并使用str.format
来交换年份和日期:
import csv
from shutil import move
from tempfile import NamedTemporaryFile
with open("infile", 'rb') as csvfile, NamedTemporaryFile(dir=".",delete=False) as temp:
w = csv.writer(temp)
r = csv.reader(csvfile)
for row in r:
dt = row[5].split("/")
row[5] = "{}/{}/{}".format(row[-1],row[1],row[0])
w.writerow(row)
move(temp.name,"infile")
将更新的行写入NamedTemporaryFile
并使用shutil.move将原始文件替换为修改后的内容。