问题标签 [xlsxwriter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
149 浏览

python - 在单独的 Excel 工作簿中引用的 Python xlsxwriter 公式结果

为这个简单的问题道歉,我猜这个问题可能有一个我错过的明显答案。

我想做的是从单独的 Excel 文件中引用公式的结果。所以我有一个脚本为每个文件(日志文件组)创建一个excel,生成各种统计信息。同时,我在脚本前面创建了一个“主”文件,它只是从每个单独的文件中并行收集关键摘要数据。

我下面的脚本是使用公式 (formula47) 计算答案并写入其单独的 Excel 文件 (worksheetFILTER_ON),但我也将答案发布到我的主 Excel 工作簿 (worksheetMAINAv),但因为输出代表对我得到了一个不同的工作簿#REF!打印。关于如何解决这个问题的任何想法?

谢谢,米克

0 投票
1 回答
2005 浏览

python-2.7 - Python xlsxwriter:创建公式时在循环中调整excel参考单元格

我正在尝试在循环编写的 excel 电子表格中包含一个公式列。但是,公式复制到每个单元格时完全相同。

下面的脚本将为所有单元格生成公式 =IF(E2>0,(G2+H2)/E2,0)。有没有办法让它更新每一行,例如,在第 16 行,该列将读取 =IF(E16>0,(G16+H16)/E16,0)?

谢谢!

0 投票
2 回答
23926 浏览

excel - Python Xlsx Writer - 将字符串写入新行

我正在使用 xlsxwriter 工具将一些数据从用户输入写入 .xlsx。(总的来说,我对编程很陌生,如果我的代码很糟糕,我很抱歉,如果您建议/纠正我犯的任何错误,我们将不胜感激!对不起!)

以下是执行此操作的当前代码:

但是,我在将数据写入新行而不是替换前一行时遇到了一些问题,因此 .xlsx 最终成为用户数据的集合。

因此,从这里开始,使用列标题创建了一个可爱的 .xlsx,并且用户数据对第二行进行了很好的处理,但是在 worksheet.write_string( 部分我需要知道如何指定如何将字符串写入新行或者可能是一些条件格式,比如“如果该行已经包含文本,则写入下一个空闲行”等。

如果您知道比 xlsxwriter 更好的工具,请随时告诉我!

谢谢 :)

0 投票
2 回答
844 浏览

python-2.7 - 将时间插入 xlsxwriter 时出现 TypeError

我正在从 MySQLdb 导入两点数据。第二点是 cursor.fetchall() 作为 timedelta 返回的时间。我没有运气尝试将该信息插入 xlsxwriter,总是收到“TypeError:未知或不支持的日期时间类型”错误。

好的...第二轮

现在我正在尝试将 timedelta 转换为 datetime.datetime 对象:

现在在 xlsxwriter 中,我设置了格式:

然后我创建了一个时间格式:

然后我尝试插入数据:

但是无论我做什么,无论我如何格式化数据,我总是会收到以下错误:

有什么愚蠢的明显我想念的吗?

******* EDIT 1 ******* jmcnamara - 为了回应您的评论,这里有更多详细信息:

我尝试使用时间增量列表,例如 datetime.timedelta(0, 27453) ,使用以下代码打印时为 7:37:33:

我仍然收到错误:TypeError: Unknown or unsupported datetime type

即使遍历列表并尝试插入结果也会失败:

0 投票
0 回答
239 浏览

python-2.7 - 使用时间作为 x 轴时的 xlsxwriter 图表问题

举个简单的例子:

我想要发生的是 x 轴应该使用时间作为类别标签,但它始终默认为 00:00:00,因此在图表中 x 轴都是 00:00:00。

要设置 x 轴,我使用:

然后插入数据:

有趣的是,如果我从 set_x_axis 命令中删除“num_format”,那么它会从 00:00:00 更改为 1,2,3,4 等。似乎 add_series 命令没有意识到我想对 x 使用时间索引-轴。在 Excel 中并使用创建的工作簿时,如果我选择 A1:B2 的样本并点击“折线图”,它可以完美运行。

0 投票
1 回答
79 浏览

python - 在保存在其他文件中的函数中使用主文件的“对象”

在我的工作中,我收到 PDF 文件中的订单,而我需要将它们重写到 Excel 表格中。Excel 文件和 PDF 文件每次都有精确的结构,不会改变,所以我决定自动化这个过程并创建 python 脚本来为我做这件事。

目前,我即将结束,我只需要将最后一个数据写入 excel 文件,但我遇到了严重的问题,非常严重,我可能需要重写/重新设计我的一半代码(大约有 500 行 atm )。

“问题”是,我将代码分成 3 个文件:

  • main(我正在执行的那个)
  • 函数(存储所有复杂的逻辑函数)
  • config(存储常量和配置的地方)

然而,问题是,我在 xlsxwritter 的主文件构造函数中有创建 Excel 文件和工作表。

正是这个:

但是,我需要(或者想要更准确)在函数文件中创建一个函数,该函数将有一个输入,并基于这个输入,它将从 config-constants 文件中获取数据,并将它们写入此工作表(obce_nad_300_sheet )。

问题是,如果我创建如下函数:

它会(显然)抛出异常,全局变量 obce_nad_300_sheet 不存在,bla bla bla ..我相信你们都知道:)

我知道,我有两种解决方法:

  1. 将整个创建、添加和写入工作表从 main.py 移动到 functions.py
    • 可以,但是,这对我来说工作量太大了,而且这些新函数中的大多数只会调用一个 xlsxwritter 函数,所以有点浪费时间
  2. 在 main.py 文件中创建这些新函数
    • 虽然我不确定它是否会起作用,但我敢肯定,在 function.py 文件中包含一些函数,而在 main.py 文件中包含其他函数,这将是完全丑陋的,并且违反了我的清晰代码规则。

但是我想要第三个选项,我还不知道,并且既简单又“好”???:)

PS:不,xlsxWritter 无法打开/读取 excel 文件,它只能创建一个新文件,所以如果我在函数中定义它,它将重写我之前写入文件的所有内容。

0 投票
1 回答
2113 浏览

python - 为什么我不能在 pandas 为我创建的 xlsxwriter 对象上 freeze_panes?

我有一个类,其对象包含 pandas 数据帧(self.before 和 self.after 下面)和一个使用 xlsxwriter 导出数据的 save() 方法(它有两个工作表,“之前”和“之后”)。我正在尝试冻结窗格(后来也想使用条件格式)。

即使我知道您无法更改已编写的单元格的样式,这两个操作也适用于工作表级别,因此以后应该可以设置。

这是代码:

已保存的工作表窗格未冻结。我在使用 xlsxwriter(没有 pandas)时成功地使用了该方法,并且我遵循这个 pandas-charts 文档设置的线索,该文档似乎只是从 writer 对象中检索底层 xlsxwriter 对象并对其进行操作。

你有什么想法为什么我在这里没有得到这个结果。

如果由于某种原因无法做到这一点,当然,我总是可以从数据框中检索表的各个值,但乍一看这似乎太过分了。

0 投票
1 回答
2748 浏览

python - 编码错误 - xlsxwriter - Python

我正在尝试从文件中拆分行并将它们放入 excel 文件(xlsx)中。根据 PS PAD,文件的编码是 'cp1250'。所以要在 xlsx 文件中有正确的字符,我正在从 cp1250 解码这些行 -line = line.decode("cp1250")

问题是来自 12000 的 cca 3000 行返回此错误:

所以接下来我尝试解码(“utf-8”),我不知道为什么,但它更好。只有 330 行返回错误:

你们知道我做错了什么吗?

编辑:当行包含“Ž”或“Š”时,通常会发生错误

这是代码:(在 py 文件的顶部,我放了“# - - coding: utf-8 - -”)

0 投票
1 回答
1714 浏览

excel - Python xlsxwriter 模块:在多个工作表上迭代相同的格式和条件集

使用 xlsxwriter 模块,我创建了一个 Python 脚本,它将 csv 文件内容复制到 Excel 工作表。然后创建第二个工作表,其中包含查找、计算、条件格式 - 一个模板 - 基于第一个工作表。没问题。

当我尝试循环代码时,我的问题就开始了,即将 3 个 csv 文件内容复制到 1 个工作簿中的 3 个工作表中,然后再创建 3 个应用相同模板但基于不同工作表查找的工作表。这是“将 csv 复制到 excel 工作表”代码的片段:

我想做这样的事情:

xlsxwriter 模块不允许我这样做。上面的代码会抛出以下错误:

我不想复制和粘贴相同的代码,只是更改了工作表名称。

更新:考虑到 jmcnamara 的评论,我能够修改我的代码,如下所示:

0 投票
1 回答
596 浏览

python - 无法将数据标签添加到由 python 的 xlsxwriter 模块创建的柱形图中

我用python的模块创建了一个柱形图xlsxwriter,我尝试在每列的顶部添加值数据标签,但是创建的excel文件是空的:

我也没有例外。但是,当我注释掉这一行时,代码运行没有错误,图表按预期创建。有已知的错误吗?