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)