首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在excel文件中写入的Python程序仅写最后一行

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

Stack Overflow用户
提问于 2019-03-17 10:44:03
回答 1查看 407关注 0票数 0

我已经安装了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栏

代码:

代码语言:javascript
复制
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

filename = 'Book_3.xlsx'
os.chdir(sys.path[0])
os.system('start excel.exe "%s\\%s"' %(sys.path[0], filename,))

结果:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-17 11:32:28

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

代码语言:javascript
复制
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,))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55206171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档