这是我在这里的第一篇文章,因此也感谢有关如何更好地传达我的问题的反馈。
基本上我想在 .csv 文件的文件夹上应用日期解析器。问题是:文件可以包含不同的数据时间格式(语言环境)。
我选择了 dateparser,因为它可以“开箱即用”处理不同的语言环境。文件中的语言环境有:德语、英语、法语、意大利语、西班牙语、瑞典语、波兰语和荷兰语。单个文件只有一种不同的日期格式。文件一是德语,文件二是英语,依此类推。
我几乎可以使用 dateparser 来解决这个问题,但由于某种原因,它会破坏德语日期,其他文件的处理没有问题。01.08.2021(应为 8 月 1 日,变为 1 月 8 日)
样品日期(结构中均为 DD/MM/YYYY HH/MM/SS)
uk = "31 Jul 2021 23:07:35"
fr = "31 juil. 2021 22:36:38"
it = "31 lug 2021 22:14:56"
es = "31 jul. 2021 22:08:08"
de = "01.08.2021 22:15:54"
se = "2 jan. 2022 07:12:44"
nl = "31 jul. 2021 22:04:02"
pl = "2 lis 2021 08:27:54"
我的代码:
import os, dateparser, pandas as pd
dateien = []
marketplaces = []
quelle = "CSVs/header_inject/"
counter = 0
for subdir, dirs, files in os.walk(quelle):
for file in files:
dateien.append(file)
for input_file in dateien:
df = pd.read_csv(quelle+input_file, header=0, parse_dates=['Datum'], date_parser=dateparser.parse, index_col=False ,dtype=str, low_memory=False,sep=",")
counter +=1
df.to_csv("CSVs/Transactions_format/"+str(counter)+".csv", index=False)
在加载文件时添加“dayfirst = True”对我没有任何作用。