我有一个 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 来做到这一点?
您可以要求 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