为了账号安全,请及时绑定邮箱和手机立即绑定

在excel文件中写入的Python程序仅写入最后一行

在excel文件中写入的Python程序仅写入最后一行

HUX布斯 2021-12-08 11:08:57
我已经安装了 openpyxl 模块,现在我正在尝试将一些数据写入一个 excel 文件,以这种方式将 excel 文件填充到一张纸中:["01/01/2016", "05:00:00", 3] 进入第 1 行,A、B、C 列["01/02/2016", "06:00:00", 4] 进入第 2 行,A、B、C 列["01/03/2016", "07:00:00", 5] 进入第 3 行,A、B、C 列["01/04/2016", "08:00:00", 6] 进入第 4 行,A、B、C 列["01/05/2016", "09:00:00", 7] 进入第 5 行,A、B、C 列当我尝试运行代码时,我得到以下结果:第 1 行,A 列 - 01/05/2016第 1 行 B 列 - 09:00:00第 1 行,第 C - 7 列代码:import os, sysfrom openpyxl import Workbookfrom datetime import datetimedt = datetime.now()list_values = [["01/01/2016", "05:00:00", 3],              ["01/02/2016", "06:00:00", 4],              ["01/03/2016", "07:00:00", 5],              ["01/04/2016", "08:00:00", 6],              ["01/05/2016", "09:00:00", 7]]wb = Workbook()sheet = wb.activesheet.title = "Data"row = 1sheet['A' + str(row)] = "Date"sheet['B' + str(row)] = "Hour"sheet['C' + str(row)] = "Value"for item in list_values:    sheet['A' + str(row)] = item[0]    sheet['B' + str(row)] = item[1]    sheet['C' + str(row)] = item[2]    row =+ 1filename = 'Book_3.xlsx'os.chdir(sys.path[0])os.system('start excel.exe "%s\\%s"' %(sys.path[0], filename,))结果:
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

您使用的是 =+ 而不是 +=。下面的代码应该可以工作。我还将 sys.path[0] 更改为 os.getcwd() 写入当前工作目录。还添加了 wb.save,因为其他代码没有产生输出。


import os, sys

from openpyxl import Workbook

from datetime import datetime


dt = datetime.now()


list_values = [["01/01/2016", "05:00:00", 3],

              ["01/02/2016", "06:00:00", 4],

              ["01/03/2016", "07:00:00", 5],

              ["01/04/2016", "08:00:00", 6],

              ["01/05/2016", "09:00:00", 7]]


wb = Workbook()

sheet = wb.active

sheet.title = "Data"


row = 1

sheet['A' + str(row)] = "Date"

sheet['B' + str(row)] = "Hour"

sheet['C' + str(row)] = "Value"


for item in list_values:

    sheet['A' + str(row)] = item[0]

    sheet['B' + str(row)] = item[1]

    sheet['C' + str(row)] = item[2]

    row += 1



dest_filename = 'Book_3.xlsx'

wb.save(filename = dest_filename)

os.chdir(os.getcwd())

os.system('start excel.exe "%s\\%s"' %(os.getcwd(), filename,))


查看完整回答
反对 回复 2021-12-08
  • 1 回答
  • 0 关注
  • 377 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信