【问题标题】:xlsxwriter in range of dates日期范围内的 xlsxwriter
【发布时间】:2018-10-15 22:52:20
【问题描述】:

我正在通过 xlsxwriter 制作一个 excelfile,我想要一个带有日期的列。更具体地说,是下个月的日期。但是,我似乎根本找不到在 xlsxwriter 中创建一列日期的方法。日期列也将是索引。有没有人有一个简单的方法来做到这一点?

这是我目前拥有的:(我只提取了我的日期处理以解决这个问题)

from datetime import date
import xlsxwriter

workbook = xlsxwriter.Workbook('date_newexcel.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': True})
worksheet.set_column('A:B', 30)

worksheet.write('A1', 'Formatted date', bold)
date_t  = workbook.add_format({'num_format': 'dd/mm/yyyy'})
worksheet.write(0, 0, date(2018, 10, 15), date_t)

workbook.close()

【问题讨论】:

    标签: python xlsxwriter


    【解决方案1】:

    您的代码对我来说很好,但是您可以尝试write_datetime 方法:

    worksheet.write_datetime(0, 0, date(2018, 10, 15), date_t)
    

    如果您需要用日期编写整个列,我会遍历您想要的天数(比如说30)并在您编写的日期添加 1 天,使用 datetime.timedelta 类:

    d = date(2018, 10, 15)
    for i in range(30):
        worksheet.write_datetime(i, 0, d, date_t)
        d += timedelta(days=1)
    

    【讨论】:

    • 我可以得到一个日期就好了,但我想在我正在制作的日期列中填写一系列日期。你知道怎么做吗?
    • 所以你的意思是在连续的行中添加连续的日期?
    猜你喜欢
    • 2014-01-07
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多