Python:pandas.DataFrame.to_csv 未填充输出列

Python: pandas.DataFrame.to_csv is not populating the output column

我有以下代码,基本上将 UTC 时间戳的格式从 mm/dd/yyyy hh:mm:ss AM 更改为 dd/mm/yyyy hh:mm:ss AM。它工作正常,但现在我需要它来替换同一个 csv 文件中的旧列或创建另一个 csv 文件,但使用修改后的日期格式。 问题是,当我 运行 代码时,UTC 时间戳列为空,但它有 header。

这是代码

import pandas as pd
import datetime
from datetime import datetime
from datetime import time

df = pd.read_csv("C:/Users/javie/OneDrive/Escritorio/22.1.21_P1_English_Language_Y10.csv")

df[' UTC Event Timestamp'] = pd.to_datetime(df[' UTC Event Timestamp'])
df[' UTC Event Timestamp'] = df[' UTC Event Timestamp'].apply(lambda x: print(x.strftime('%d/%m/%Y %I:%M:%S %p')))

df.to_csv("C:/Users/javie/OneDrive/Escritorio/output.csv",index=False,date_format='%d/%m/%Y %I:%M:%S %p')

您的代码就快完成了。 print() 的使用不是必需的,这就是你的问题所在。

删除它,您的代码应该可以工作:

import pandas as pd
import datetime
from datetime import datetime
from datetime import time

df = pd.read_csv("C:/Users/javie/OneDrive/Escritorio/22.1.21_P1_English_Language_Y10.csv")

df[' UTC Event Timestamp'] = pd.to_datetime(df[' UTC Event Timestamp'])
df[' UTC Event Timestamp'] = df[' UTC Event Timestamp'].apply(lambda x: x.strftime('%d/%m/%Y %I:%M:%S %p'))

df.to_csv("C:/Users/javie/OneDrive/Escritorio/output.csv",index=False,date_format='%d/%m/%Y %I:%M:%S %p')