
[英]Output different precision by column with 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')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.