gpt4 book ai didi

python - xlsxwriter:有没有办法在我的工作簿中打开现有工作表?

转载 作者:IT老高 更新时间:2023-10-28 21:02:00 25 4
gpt4 key购买 nike

我能够打开我预先存在的工作簿,但我看不到任何方法可以打开该工作簿中预先存在的工作表。有没有办法做到这一点?

最佳答案

您不能使用 xlsxwriter 附加到现有的 xlsx 文件。

有一个名为 openpyxl 的模块它允许您读取和写入预先存在的 excel 文件,但我确信这样做的方法涉及从 excel 文件中读取,以某种方式存储所有信息(数据库或数组),然后在调用 workbook 时重写.close() 然后将所有信息写入您的 xlsx 文件。

同样,您可以使用自己的方法“附加”到 xlsx 文档。我最近不得不附加到一个 xlsx 文件,因为我有很多不同的测试,其中我有 GPS 数据进入主工作表,然后每次测试开始时我都必须附加一个新工作表。在没有 openpyxl 的情况下解决这个问题的唯一方法是使用 xlrd 读取 excel 文件。然后遍历行和列...

cells = []
for row in range(sheet.nrows):
cells.append([])
for col in range(sheet.ncols):
cells[row].append(workbook.cell(row, col).value)

不过,您不需要数组。例如,这工作得很好:

import xlrd
import xlsxwriter

from os.path import expanduser
home = expanduser("~")

# this writes test data to an excel file
wb = xlsxwriter.Workbook("{}/Desktop/test.xlsx".format(home))
sheet1 = wb.add_worksheet()
for row in range(10):
for col in range(20):
sheet1.write(row, col, "test ({}, {})".format(row, col))
wb.close()

# open the file for reading
wbRD = xlrd.open_workbook("{}/Desktop/test.xlsx".format(home))
sheets = wbRD.sheets()

# open the same file for writing (just don't write yet)
wb = xlsxwriter.Workbook("{}/Desktop/test.xlsx".format(home))

# run through the sheets and store sheets in workbook
# this still doesn't write to the file yet
for sheet in sheets: # write data from old file
newSheet = wb.add_worksheet(sheet.name)
for row in range(sheet.nrows):
for col in range(sheet.ncols):
newSheet.write(row, col, sheet.cell(row, col).value)

for row in range(10, 20): # write NEW data
for col in range(20):
newSheet.write(row, col, "test ({}, {})".format(row, col))
wb.close() # THIS writes

但是,我发现读取数据并将其存储到二维数组中更容易,因为我正在处理数据并一遍又一遍地接收输入,并且不想写入 excel 文件,直到它测试结束(你可以使用 xlsxwriter 轻松完成,因为这可能是他们在调用 .close() 之前所做的事情)。

关于python - xlsxwriter:有没有办法在我的工作簿中打开现有工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18002133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com