【发布时间】:2021-09-23 06:04:31
【问题描述】:
我正在使用 Python pandas 来比较两个 csv 文件,但在具有 5 个日期列的 csv 文件中,我使用了 parse_date=['dateofbirth','lastupdates','dateofjoin','dateofresign,'endoftrade'] read_csv 方法,但它只解析 dateofbirth 而不是 csv 文件中的所有列。
代码:
csv_pandas=pd.read_csv("path of the csv file",parse_date=['dateofbirth','lastupdates','dateofjoin','dateofresign,'endoftrade'])
print(csv_pandas)
CSV 文件:
dateofbirth lastupdates dateofjoin dateofresign
05/06/2021 00:00:00PM 12/13/2021 12:00:00PM 12/13/2021 12:00:00PM 12/13/2021 12:00:00PM
column non-null count Dtype
------ ------------- ------
dateofbirth non-null object
dateofbirth non-null datetime64[ns]
dateofbirth non-null datetime64[ns]
dateofbirth non-null datetime64[ns]
我只能转换对象 Dtype 列,剩下的 datetime64[ns] 不解析
我大约有 160 个 csv 文件,每个 csv 文件都有不同的列名,请任何人建议
【问题讨论】:
-
这能回答你的问题吗? Can I parse dates in different formats?
-
问题是因为它缺少
00PM之间的空格。您必须修改输入文件或创建自定义解析器并设置date_parser参数。 -
@Alex。我认为答案不适合 OP 的情况。
-
@Corralien,也许吧。我无法重现他们的问题。唯一不为我解析的列是
dateofbirth。我认为问题在于毫秒字段。 -
我的代码中的 Alex 需要解析两个 csv 文件源和目标然后我需要比较,但它不适用于所有列