更改列格式(自定义 -> 日期)
Change column format ( Custom -> DATE )
我目前在将数据框导出到 excel 时遇到问题(使用 python / pandas / xlsxwriter)。我尝试将列 "date" 导出为日期时间或字符串,两者都给我相同的结果(最后单元格在 XL 中为 "Custom"...)。视觉上很好,它们看起来都是“0k”:
但随后我需要将其导入另一个程序,但出现错误....我可以通过手动更改单元格格式(从“自定义”到“日期”)来解决此问题
我手动更改格式如下:
我试图用 Powershell 来做到这一点(任何其他选项也可以),但目前我已经走到了死胡同......
感谢任何帮助!
谢谢!
使用 XlsxWriter 创建的数字格式将显示为数字、日期、时间、货币、会计等类别,如果它们与 Excel 为该类别使用的格式匹配。否则它将显示为“自定义”格式。
这是一个演示差异的示例:
from datetime import datetime
import xlsxwriter
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('datetimes.xlsx')
worksheet = workbook.add_worksheet()
# Expand the first columns so that the dates are visible.
worksheet.set_column('A:B', 30)
# Create a datetime object to use in the examples.
date_time = datetime.strptime('2019-01-23 12:30:05.123',
'%Y-%m-%d %H:%M:%S.%f')
# Create some date formats.
date_format1 = workbook.add_format({'num_format': 'dd/mm/yy'})
date_format2 = workbook.add_format({'num_format': 'dd/mm/yyyy'})
# Write the same date using different formats.
worksheet.write_datetime(0, 0, date_time, date_format1)
worksheet.write_datetime(1, 0, date_time, date_format2)
workbook.close()
单元格 A1 中的日期显示为“自定义”。单元格 A2 中的日期显示为“日期”:
您可以通过为单元格设置 Excel 格式类别找到正确的格式字符串,然后在“数字”对话框中向下滚动以查看它在“自定义”类别中的内容:
在 Pandas 中,您可以设置 date/datetime 格式字符串,如 Formatting of the Dataframe output 上的 XlsxWriter 文档所示。
应该注意的是,这可能会稍微依赖于 Excel 版本或语言环境。例如,上面的代码应该(但可能不会)在具有不同默认 number/date 格式的 Excel/Windows 版本中产生相同的结果。
更新:请参阅更新的 XlsxWriter 文档,了解如何获取 Number Format Categories.
我目前在将数据框导出到 excel 时遇到问题(使用 python / pandas / xlsxwriter)。我尝试将列 "date" 导出为日期时间或字符串,两者都给我相同的结果(最后单元格在 XL 中为 "Custom"...)。视觉上很好,它们看起来都是“0k”:
但随后我需要将其导入另一个程序,但出现错误....我可以通过手动更改单元格格式(从“自定义”到“日期”)来解决此问题
我手动更改格式如下:
我试图用 Powershell 来做到这一点(任何其他选项也可以),但目前我已经走到了死胡同...... 感谢任何帮助! 谢谢!
使用 XlsxWriter 创建的数字格式将显示为数字、日期、时间、货币、会计等类别,如果它们与 Excel 为该类别使用的格式匹配。否则它将显示为“自定义”格式。
这是一个演示差异的示例:
from datetime import datetime
import xlsxwriter
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('datetimes.xlsx')
worksheet = workbook.add_worksheet()
# Expand the first columns so that the dates are visible.
worksheet.set_column('A:B', 30)
# Create a datetime object to use in the examples.
date_time = datetime.strptime('2019-01-23 12:30:05.123',
'%Y-%m-%d %H:%M:%S.%f')
# Create some date formats.
date_format1 = workbook.add_format({'num_format': 'dd/mm/yy'})
date_format2 = workbook.add_format({'num_format': 'dd/mm/yyyy'})
# Write the same date using different formats.
worksheet.write_datetime(0, 0, date_time, date_format1)
worksheet.write_datetime(1, 0, date_time, date_format2)
workbook.close()
单元格 A1 中的日期显示为“自定义”。单元格 A2 中的日期显示为“日期”:
您可以通过为单元格设置 Excel 格式类别找到正确的格式字符串,然后在“数字”对话框中向下滚动以查看它在“自定义”类别中的内容:
在 Pandas 中,您可以设置 date/datetime 格式字符串,如 Formatting of the Dataframe output 上的 XlsxWriter 文档所示。
应该注意的是,这可能会稍微依赖于 Excel 版本或语言环境。例如,上面的代码应该(但可能不会)在具有不同默认 number/date 格式的 Excel/Windows 版本中产生相同的结果。
更新:请参阅更新的 XlsxWriter 文档,了解如何获取 Number Format Categories.