从 CSV 导入时更改日期格式
Change date format when importing from CSV
我有一个 CSV 文件,其中的日期格式为 yy/mm/dd
,但 Excel 将其误读为 dd/mm/yyyy
(例如,2015 年 9 月 8 日被读为 2008 年 9 月 15 日).
我知道如何更改 Excel 输出 的格式,但如何更改它用于解释 CSV 数据的格式?
如果可能的话,我想保持 Excel,但我可以使用 Python 程序。
选项 1. 更改格式 excel 读入
编辑:OP 评论中建议了一种更好的方法来完成此操作,我不知道您可以这样做
它(excel) 使用您的 windows 设置
所以你可以去
控制面板 > 时钟、语言、地区 >(在地区和语言下)更改日期、时间或数字格式
并输入适当的格式
选项 2. 更改 csv 日期格式
from dateutil.parser import parse
with open("output.csv","wb") as fout:
csv_out = csv.writer(fout)
for row in csv.reader(open("input.csv","rb")):
row[date_index] = parse(row[date_index]).strftime("%x")
csv_out.writerow(row)
选项3.正确导入
使用数据、获取外部数据、从文本中,当向导提示您选择合适的 DMY 组合时(第 3 步,共 3 步,在列数据格式和日期下)。
我有一个 CSV 文件,其中的日期格式为 yy/mm/dd
,但 Excel 将其误读为 dd/mm/yyyy
(例如,2015 年 9 月 8 日被读为 2008 年 9 月 15 日).
我知道如何更改 Excel 输出 的格式,但如何更改它用于解释 CSV 数据的格式?
如果可能的话,我想保持 Excel,但我可以使用 Python 程序。
选项 1. 更改格式 excel 读入
编辑:OP 评论中建议了一种更好的方法来完成此操作,我不知道您可以这样做
它(excel) 使用您的 windows 设置
所以你可以去
控制面板 > 时钟、语言、地区 >(在地区和语言下)更改日期、时间或数字格式
并输入适当的格式
选项 2. 更改 csv 日期格式
from dateutil.parser import parse
with open("output.csv","wb") as fout:
csv_out = csv.writer(fout)
for row in csv.reader(open("input.csv","rb")):
row[date_index] = parse(row[date_index]).strftime("%x")
csv_out.writerow(row)
选项3.正确导入
使用数据、获取外部数据、从文本中,当向导提示您选择合适的 DMY 组合时(第 3 步,共 3 步,在列数据格式和日期下)。