python - 导出到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 样式。例如对齐。
解决方案
我通过使用 worksheet.write_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)
推荐阅读
- google-compute-engine - 如何让应用内菜单在 Google Compute Engine 的 GUI 中可靠工作?
- r - 为什么即使数据发生了变化,情节也不会更新
- php - 使用 RegEx 选择千位分隔符
- javascript - Bootstrap:如何通过单击单个选项卡来显示 2 个选项卡内容?
- c# - 计算方程根的程序的奇怪行为
- cmd - 使用 bat 文件编辑 regedit 值
- python - Folium Choropleth + GeoJSON 引发 AttributeError:“NoneType”对象没有属性“get”
- c++ - 迭代器边界检查超出向量大小
- angular - 角嵌套动态表单
- http-redirect - 将本地 url/IP 重定向到其他本地 url/IP