【问题标题】:Cell value in sheet printing as datetime.datetime but not as date values - Openpyxl工作表打印中的单元格值作为 datetime.datetime 但不是日期值 - Openpyxl
【发布时间】:2022-01-03 10:52:09
【问题描述】:

我有一个 excel 表,其中包含值:

Date          Item 
01-12-2019    Car
02-12-2019    Truck

我在 openpyxl 中打开了这个文件,并想将这些行写入一个文本文件。 为此,我使用了以下代码:

wb = load_workbook(filename)
sheet = wb.active

report = open('textfile.txt', 'w+')


i=0
while i <= sheet.max_row:
    data = list(cell.value for cell in list(sheet.rows)[i])
    report.write(data)
    report.write('\n')
    i +=1

这段代码的输出结果是:


[datetime.datetime(2019,1,12,0,0), Car]
[datetime.datetime(2019,2,12,0,0), Truck]

但我希望输出到 b:


[2019-12-01, Car]
[2019-12-02, Truck]

所以我希望在文件中打印日期值而不是 datetime.datetime,因为用户会看到此报告。

我应该改变什么。谢谢

【问题讨论】:

    标签: python excel datetime openpyxl spreadsheet


    【解决方案1】:

    openpyxl 可以使用datetime 对象来存储日期/时间。由于您已经有一个 datetime 对象,请使用 datetime.strftime 以您想要的格式编写它们。看 here 获取所有格式代码。

    from datetime import datetime
    
    d = datetime.now()
    print(d.strftime("%d/%m/%y"))
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多