Python Pandas 读取 CSV 文件,其中 dd/mm/yyyy 日期显示为 mm/dd

问题描述 投票:0回答:1

我有一个 CSV 文件,其中以 DD/MM 格式保存日期列,但是,当我单击单元格时,实际值的格式为 DD/MM/YYYY。

例如:

28/03; 182409; 7579480; 1000; 1100; 1200; 1300
28/03; 220000; 0480000; 1000; 1100; 1200; 1300
28/03; 220000; 0760000; 1000; 1100; 1200; 1300

第一列中的值 28/03 实际上是 28/03/2024。

我想我可以将 CSV 文件复制为 XLSX,并使用 openpyxl 将列转换为 DD/MM/YYYY。

但是我想知道是否有办法直接使用 Pandas 来做到这一点?

python pandas date openpyxl
1个回答
0
投票

您可以要求 pandas 在读取 CSV 时解析日期:

df = pd.read_csv(filename, header=None, sep=';', parse_dates=[0], date_format='%d/%m')

但是,就您而言,由于缺少年份,您会得到:

           0       1        2     3     4     5     6
0 1900-03-28  182409  7579480  1000  1100  1200  1300
1 1900-03-28  220000   480000  1000  1100  1200  1300
2 1900-03-28  220000   760000  1000  1100  1200  1300

解决方法是在导入后对其进行转换:

df = pd.read_csv(filename, header=None, sep=';')
df[0] = pd.to_datetime(df[0]+'/2024', format='%d/%m/%Y')

输出:

           0       1        2     3     4     5     6
0 2024-03-28  182409  7579480  1000  1100  1200  1300
1 2024-03-28  220000   480000  1000  1100  1200  1300
2 2024-03-28  220000   760000  1000  1100  1200  1300
© www.soinside.com 2019 - 2024. All rights reserved.