- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我能够打开我预先存在的工作簿,但我看不到任何方法可以打开该工作簿中预先存在的工作表。有没有办法做到这一点?
最佳答案
您不能使用 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/
对于相同的输入,是否可以使用 XlsxWriter 使输出二进制文件相同? 我尝试将 created 属性更改为同一日期,这有点帮助。 sharedStrings.xml 中仍然存在很多差异。 谢谢
我正在尝试创建带有趋势线的条形图。我可以在 excel 中执行此操作,并希望使该过程自动化。 xlswriter 非常易于使用,我已经复制了条形图它只是趋势线对我不起作用。它似乎在行中添加了 2 个元
例如,我有 Jan、Feb 和 Mar 的 3 个数据元素(例如 49、23、40),它们都属于同一个系列 1。当我将它们绘制在条形图中时,它们只能是在 XlsxWriter 中用相同的颜色填充。我该
我试过在 MacOS 上安装 xlsxwriter 我试过: pip install xlsxwriter easy_install xlsxwriter python -m easy_install
我有一个来自 Pandas 数据框的 Excel 工作表。然后我使用 Xlsxwriter 添加公式、新列和格式。问题是我似乎只能格式化我使用 xlsxwriter 编写的内容,而不能格式化来自数据框
在 Python 包 xlsxwriter 中,是否可以将散点图系列的一部分格式化为与另一部分不同的格式?例如,一个散点图,其中特定系列的线的某些部分是蓝色的,而同一线的其他部分是红色的。通过修改特定
我通过调用创建了一个图表 worksheet.insert_chart(chart_row, chart, {'x_scale': 2, 'y_scale': 1}) 它是一种堆叠类型。 我想让图表水
我正在尝试让 xlsxwriter 将 =BDP 公式放入单元格中,但是当我尝试打开 excel 输出并且结果为 0.0 时会导致错误 有谁知道如何解决这一问题?谢谢! sheet.write_for
我编写了一个 python 代码来使用 xlsxwriter 从 csv 文件生成一个 excel 文件。 但输出不是我想要的。我的数据之间有空行: 我不知道是什么让我的代码发生这种情况。我想像这样删
我有一个创建 Excel 文件的 python 脚本。 定义 :Osisoft-function 是输入到 Excel 单元格以从 Osisoft 服务器获取数据的函数(在 Excel 中安装了 PI
我正在使用 pandas concat 将几个数据框(表格)合并到一个 excel 文档中。 我使用 Xlsxwriter 输出 excel。 我的问题是,在下面的代码中,我使用 worksheet.
我试图弄清楚如何让 XlsxWriter 循环遍历工作表并根据每个单元格值用特定图像添加/替换单元格值(例如,单元格值为 1 添加 pic1.jpg,单元格值为 2 添加 pic2.jpg,等等 我的
是否有任何选项可以使用 xlsxwriter 在 Excel 中添加粗边框? 我正在使用条件格式在范围之间编写边界。 在我的情况下,添加表不起作用。 最佳答案 Is there any option
使用 Xlsx 编写器,我想编写将遵守操作系统区域/语言设置设置的区域设置格式的日期。例如,加拿大的操作系统设置的默认格式是“yyyy-mm-dd”,而在德国,它是“dd.mm.yy”。如何使日期响应
我在这里看到很多页面都设置了整列宽度的格式,但是有没有办法设置单个单元格宽度的格式?我的问题是我正在创建一个或多或少具有“标题”的工作表,其中每列的长度不同,因为它们已被合并以包含唯一信息。此部分下方
我正在使用 xlsxwriter python 模块。 我正在尝试使用.write_formula()函数将公式写入单元格,检查不同工作表中单元格内容是否存在: worksheet.write_for
我是 Python 新手,我正在尝试使用这个简单的代码,一切正常,但序列不会重复。请帮助我。 this is the excel output import xlsxwriter workbook =
我想在 excel 中上传分组条形图,但我似乎找不到这样做的方法。 这是我的代码: bar_chart2 = workbook.add_chart({'type':'column'}) bar_cha
我正在尝试从文本文件收集数据。当我打印输出时,它们返回我正在寻找的正确值,但是,当我尝试使用 xlsxwriter 将这些输出放入表中时,该表仅包含 txt 文件最后一行的输出重复的数量文本文件中存在
有时我尝试保存 xlsx 工作簿,但文件已打开。我之前做了很多处理,所以如果像打开工作表这样简单的事情导致文件保存失败,我必须再次运行整个脚本。 想做这样的事情,但它似乎没有保存新文件,即使我关闭旧文
我是一名优秀的程序员,十分优秀!