Python Pandas 数据以日期格式输出到 excel 的问题 [重复]
Posted
技术标签:
【中文标题】Python Pandas 数据以日期格式输出到 excel 的问题 [重复]【英文标题】:Problem with Python Pandas data output to excel in date format [duplicate] 【发布时间】:2020-12-18 14:54:36 【问题描述】:在将值打印到Excel sheet
之前,需要有关如何将Pandas
中的值格式化为日期格式的指导。
我是Pandas
的新手,当值输出到Excel sheet
时,我必须编辑现有代码。
在完成一些条件/函数计算后,该值将输出到Excel
。
我的当前值似乎是 string format
,这不是 Excel
友好的日期格式。
值的输出如下所示:
需要将输出格式化为日期格式
我确实尝试了strptime
的选项,但根据我的理解,这些值也会以字符串格式提供输出。奇怪的是,我也无法使用Excel
格式化选项将Excel
中的列格式化为日期格式。
感谢您的时间和帮助。
我的代码是这样的:
def calculate(snumber,owner,reason):
#some if conditions and then
date11 = Date + relativedelta(months = 1)
return date11.strftime('%d %b %Y')
df['date1'] = df.apply(lambda x: calculate(x['snumber'], x['owner'], x['reason']), axis=1)
【问题讨论】:
【参考方案1】:为确保您有日期格式的列,请使用以下
df['date1'] = df['date1'].dt.strftime('%Y/%m/%d')
完成后,您可以使用 Pandas ExcelWriter 的 xlsxwriter 引擎。
请在本文中查看更多详细信息:https://xlsxwriter.readthedocs.io/example_pandas_column_formats.html
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter("pandas_column_formats.xlsx", engine='xlsxwriter')
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')
# Get the xlsxwriter workbook and worksheet objects.
workbook = writer.book
worksheet = writer.sheets['Sheet1']
format = workbook.add_format('num_format': 'dd/mm/yy')
# Set the column width and format.
# Provide proper column where you have date info.
worksheet.set_column('A:A', 18, format)
# Close the Pandas Excel writer and output the Excel file.
writer.save()
【讨论】:
【参考方案2】:使用以下方法在 pandas 数据框中转换日期格式:
date['date1'] = pd.to_datetime(df['date1'])
例子:
我有一个数据框
PRODUCT PRICE PURCHSE date
0 ABC 5000 True 2020/06/01
1 ABB 2500 False 2020/06/01
在数据框中的日期上应用上面给定的公式
df['date'] = pd.to_datetime(df['date'])
输出如下:
PRODUCT PRICE PURCHSE date
0 ABC 5000 True 2020-06-01
1 ABB 2500 False 2020-06-01
【讨论】:
以上是关于Python Pandas 数据以日期格式输出到 excel 的问题 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
以日期为列名的 Python Pandas Pivot() 需要排序和格式化
如何在 pandas 的数据框中选择多个日期列,然后将它们全部格式化? (Python)
如何找出 python pandas 数据框列(日期格式)中的空白?