Python-导出到excel时格式化日期值
我有一个数据框,列是字符串。我想将df导出到excel,并使A列成为日期类型,格式为DDMMMYYYY(即,我需要“2017年1月1日”而不是“2017-01-01”) 我尝试了两件他们不起作用的事情:Python-导出到excel时格式化日期值,python,excel,format,Python,Excel,Format,我有一个数据框,列是字符串。我想将df导出到excel,并使A列成为日期类型,格式为DDMMMYYYY(即,我需要“2017年1月1日”而不是“2017-01-01”) 我尝试了两件他们不起作用的事情: df1 = pd.DataFrame( columns=["A", "B", "C"], data=[['2017-01-01',np.nan, "ok"], ['2017-02-01',8,"fine"], ['2017-03-01',100,np.n
df1 = pd.DataFrame(
columns=["A", "B", "C"],
data=[['2017-01-01',np.nan, "ok"], ['2017-02-01',8,"fine"], ['2017-03-01',100,np.nan]])
df1.to_excel('test.xlsx', index=False)
或
如何执行此操作?在Excel中,将列A设置为自定义格式:
df1['A'] = pd.to_datetime(df1['A'], format="%d%b%Y")
星号应不允许日期元素之间出现空格或运算符
另外,对于另一种格式设置。您可以首先将其解析为datetime对象,然后将其转换为所需格式
dd*mmm*yyyy
我有一个类似的用例。我用过熊猫和熊猫 也许是这样的
将熊猫作为pd导入
将numpy作为np导入
导入箭头
df1=pd.DataFrame(
列=[“A”、“B”、“C”],
资料=[
['2017-01-01',np.nan,“ok”],
['2017-02-01',8,“罚款”],
['2017-03-01',100,北卡罗来纳州南部]
]
)
df1['A']=df1['A']。应用(
lambda val:arrow.get(val.format(“DDMMMYYYY”).upper()
)
df1.to_excel('test.xlsx',index=False)
谢谢Zohaib。我收到了这个错误消息:“TypeError:strptime()参数1必须是字符串,而不是序列”。你知道如何解决这个问题吗?从你的问题来看,df1['A']
似乎是你的日期字符串。因此,请找到日期str的表达式,并将其传递到df1['A']
dd*mmm*yyyy
from datetime import datetime
df1['A'] = datetime.strptime(df1['A'], '%Y-%m-%d').strftime("%d%b%Y").upper()