Python 导出到excel时如何设置datetime列的样式?
我有以下代码来设置列样式:Python 导出到excel时如何设置datetime列的样式?,python,pandas,Python,Pandas,我有以下代码来设置列样式: column_format = self.workbook.add_format({'border': 1, 'align': 'center'}) worksheet.set_column(column_name, column.get("width", 20), column_format) 样式很好用,但日期时间列不起作用 我认为这是因为pandas在datetime列中有自己的风格,当我导出到excel时,它是凌驾于思想之
column_format = self.workbook.add_format({'border': 1, 'align': 'center'})
worksheet.set_column(column_name, column.get("width", 20), column_format)
样式很好用,但日期时间列不起作用
我认为这是因为pandas在datetime列中有自己的风格,当我导出到excel时,它是凌驾于思想之上的
我试图在熊猫身上树立自己的风格-
tab_df_styler = tab_df.style.apply(lambda x:
['border-width: 1px; border-style:solid; border-color: black' for v in x])
但更糟糕的是,它覆盖了所有的excel样式。例如对齐。我通过使用工作表解决了我的问题。write\u datetime:
# fix datetime columns style
series = data[column.get("field")]
if pd.core.dtypes.common.is_datetime_or_timedelta_dtype(series):
column_format.num_format = 'yyyy-mm-dd hh:mm:ss'
for row_index, value in enumerate(pd.to_datetime(data[column.get("field")])):
if not pd.isnull(value):
worksheet.write_datetime(row_index + start_row - 1, column_index - 1, value, column_format)