尝试使用Python在Excel文件中添加日期时出错

2024-10-01 22:43:35 发布

您现在位置:Python中文网/ 问答频道 /正文

希望在最后14天使用excel电子表格添加。在

我用它来创建一个数组,其中包含我想要的每个日期,然后在excel中编写它。这里是B1的今天日期。在

import urllib2
import json
import time
from openpyxl import Workbook
from openpyxl import load_workbook
from datetime import date, datetime, timedelta

wb = load_workbook(filename = 'stats.xlsx')
dest_filename = 'stats.xlsx'
ws = '<Worksheet "sheet">'
wsFR = '<Worksheet "France">'
wsIT = '<Worksheet "Italie">'
wsFR = '<Worksheet "Belgique">'

wb2 = load_workbook(filename = 'statsOrders.xlsx')
dest_filename = 'statsOrders.xlsx'
ws2 = wb2.active

for day in range(13):
    todayminus = today - timedelta(days=day)
    wsFR.cell(row=day+1, column=2, value=todayminus)

当我试着这样做时,我得到了一个错误:

TypeError: 'str' object does not support item assignment

在我的数组中,datetime被转换成字符串,当我打印数组时,一切看起来都很好。在

^{pr2}$

我确实设法解决了这个错误。在

谢谢你的时间和帮助。在


Tags: fromimportdatetimestatsload数组filenamexlsx
2条回答

您的代码不完整,并且traceback丢失,这将告诉我们是哪一行导致了问题。我可以运行代码没有问题,所以我怀疑你的工作表不是你想象的那样。在

首先,我认为不需要中间循环:您可以根据需要简单地分配单元。假设要将日期放在第二列中:

from openpyxl import Workbook
wb = Workbook()
wsFR = wb.active
from datetime import date, timedelta
today = date.today()

for day in range(13):
    todayminus = today - timedelta(days=day)
    wsFR.cell(row=day+1, column=2, value=todayminus)

您应该使用datetime函数之一而不是str()将datetime对象转换为字符串。在

例如,尝试替换
datetminus.append(str(todayminus))

dateminus.append(todayminus.strftime('%Y-%m-%d'))

那应该行得通

相关问题 更多 >

    热门问题