无论我尝试过什么,StyleFrame似乎都坚持将所有日期格式化为DD/MM/YYYY格式。我正在尝试将它们格式化为MM/DD/YYYY。
我试图使用number_format来控制它,但在生成的Excel文件中它似乎被完全忽略了。我已经能够成功地应用许多其他类型的样式,例如字体大小、文本对齐和列宽,但它似乎忽略了number_format。
具体地说,我正在尝试这样做:
sf = StyleFrame(exampleDataFrame)
sf.apply_column_style(cols_to_style=['Start Date', 'End Date'],
width=35, styler_obj=Styler(number_format='MM/DD/YYYY', font_size=10))宽度和字体大小按预期应用,但不应用日期格式。
发布于 2020-12-11 07:20:39
StyleFrame似乎坚持将所有日期格式化为DD/MM/YYYY
这是正确的,这是由于样式过程设计中的一些疏忽。
在正式修复之前,一种解决办法是覆盖date (或datetime)对象的基础默认样式。遗憾的是,这不提供对特定列的控制,必须在创建StyleFrame对象之前完成。
我将为此创建一个github问题,以便在将来研究它。
import pandas as pd
from styleframe import StyleFrame, utils
df = pd.DataFrame({'a': ['11/12/2020']})
df['a'] = pd.to_datetime(df['a'])
orig_date_time_format = utils.number_formats.default_date_time_format
utils.number_formats.default_date_time_format = 'YYYYMMDD'
sf = StyleFrame(df)
sf.to_excel('test.xlsx').save()
utils.number_formats.default_date_time_format = orig_date_time_format这将导致单元格中出现20201112。
https://stackoverflow.com/questions/65241561
复制相似问题