问题标签 [xlutils]

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 投票
1 回答
472 浏览

python - 如何在保留图表的同时使用 XLRD 或 openpyxl 编辑 Excel 工作簿?

我有一本工作簿,里面有一些工作表。其中一张纸上有图表。我需要使用 xlrd 或 openpyxl 来编辑另一个工作表,但是,每当我保存工作簿时,图表就消失了。

有什么解决方法吗?是否有另一个 python 包可以保留图表和格式?

0 投票
0 回答
375 浏览

hyperlink - 如何使用 xlrd、xlwt 和 xlutils 复制超链接?

问题: 我正在尝试编写 Excel 表格的简单代码。程序检查 Excel 工作表是否已存在,如果文件存在,则将其附加新数据。问题是我无法复制超链接,因为 xlrd 无法读取超链接。如果有人能给我一些建议,我将不胜感激。我正在使用 xlrd (0.9.2)、xlwt(0.7.5) 和 xlutil1.6.0)

注意:我在这里使用了一些默认的超链接示例。我将将此信息用于我的其他程序,我想在其中编辑具有许多工作表的 Excel 工作簿,并且每个工作表都在多个位置包含超链接。

代码:

谢谢你的帮助!!!

0 投票
1 回答
131 浏览

python - 生成 Excel 文件期间数据存储操作超时

我正在使用 xlwt 生成一个 excel 文件并将其作为 blob 属性存储在数据存储中。但是在生成期间得到了这个错误"Timeout: The datastore operation timed out, or the data was temporarily unavailable."

我注意到使用 xlutils 我们可以更新现有文件。我打算做这样的事情,第一次我会用我的一半数据创建文件,然后使用另一个任务来完成文件创建。

有没有更好的方法来做到这一点?

这是我当前的代码:

0 投票
1 回答
422 浏览

python - 如何在 Python 中已经存在的 excel 工作表中写入一张工作表?

我有一个有四张纸的excel文件。一张表格,表格 4. 包含简单 CSV 格式的数据,其他表格读取此表格的数据并进行不同的计算和图表。在我的 python 应用程序中,我想打开 excel 文件,打开工作表 4,然后替换数据。我知道由于 XLS 的复杂文件结构(以前的相关答案),您在技术上无法打开和编辑 Excel,但是您喜欢使用 Python,但是对于这种特定情况是否有解决方法?请记住,我唯一想做的就是打开数据表,写入数据表,然后忽略其他...

注意:之前对相关问题的回答建议使用 xlutils 中的复制功能。但这在这种情况下不起作用,因为其余的工作表相当复杂。例如,无法使用复制功能保留图形。

0 投票
1 回答
222 浏览

python - 将不完整的日期列表与参考日期列表进行比较

我知道这是可能的。我知道有一个简单的解决方案,但我尝试过的一切都失败了。

这是交易:

我有一个 Excel 格式的数据集,其中包含 939,019 个气象站记录(行)。从 1993 年 1 月 29 日 16:30 到 2013 年 6 月 30 日 24:00,日期/时间间隔为每 10 分钟一次。如果我进行数学计算,很明显缺少行。

我需要知道丢失的日期/时间。如果我可以有一些小程序/脚本来返回丢失间隔的开始日期/时间和结束日期/时间,那就太酷了。但我会对丢失的日期/时间列表感到满意。

为了弄清楚,我想,哦,我所需要的只是一个参考列表,用于将列表与缺失的日期进行比较,并通过某种方式标记或返回差距。

因此,在 Excel 中,我在气象站数据旁边创建了一个列,并在第一行填充了开始日期。随后的行只是为其上方的单元格添加 10 分钟。不幸的是,在这 20 年的跨度中,10 分钟间隔的数量超过了 excel 可以处理的数量。不用担心。它足够接近(2013 年 1 月 6 日 10:50)。

无论如何,我在 excel 中尝试了 MATCH 函数,但这需要的时间太长了。在我打字的时间里,它已经达到了 3%(使用 12 个处理器)。我有 30 个气象站(日期范围相同)要做。我希望我能找到一种更快的方法来做到这一点。

所以,我接下来尝试了 Acess。我将文件(气象站数据和单独的参考日期列表)作为表导入 Access 中,并认为我只是做一个 UNMATCHED 查询,但出于某种原因(无论我如何格式化日期列(日期/时间、序列number), 查询返回几乎所有不匹配的行。不知道为什么,它确实很快,但它显然是错误的。

然后我想 - Python!这样就行了,对吧?但我是一个 GIS 人。我只使用过 Python 示例脚本来运行地理处理工具(或使用过 ESRi 的模型生成器)。我真的不知道从哪里开始。任何指针?

0 投票
2 回答
1528 浏览

python - 为什么这个 Python 循环无法输出到下一个可用的 excel 行?

首先也是最重要的:感谢您提前提供的任何帮助。我是一个编程新手,我的代码将反映这一点。我将尝试描述我正在尝试做的事情,并显示代码。再次感谢您的时间和解释。

目标:我想让 python 打开一个现有的 excel 文件(output.xls),并在该文档的下一个可用行中输入一个值(在本例中为“测试文本”)。我尝试使用“while”循环和“if”语句来完成这项工作。尽管两者都没有返回错误,但它们都未能正确地将输出移过第二行。这就是我所拥有的。

我在下面要说的是-WHILE-单元格不是空白的(类型 6),然后在行中添加一个并重复。IE:继续前进,直到您在第四列中找到一个空白行。

在这里,我希望确认结果。

无论如何,当我运行代码时,它似乎并没有超过第一行。就好像代码说,“太好了,第一个单元格不是类型六”,但并没有超过那个。尽管在网上搜索了数小时,但我似乎无法找到原因。

非常感谢任何帮助/指导。

- - 编辑 - -

这是我收到的建议回复的错误。错误是相同的。

0 投票
1 回答
4894 浏览

python - Python - Excel:查找列中的第一个空行

从我的最后一个问题开始,我已经设法获得了完成我的系统的大部分方法。当然,我遇到了一个问题。

我基本上有一个玩游戏的程序。每个正确答案都会在全局变量“points”上加 10。然后我想将“点”添加到 Excel 电子表格中。

这是我非常卡住的地方。我正在运行 XLRD-0.8.0、XLUTILS-1.4.1 和 XLWT-0.7.5。

当然,我查找了不同的东西,但它们似乎对我不起作用。

这是我的代码的简化版本:

我想过做这样的事情,但我不确定我会怎么做,所以我发布了伪代码。

定义工作表:ws = 'sheet 1'[完成]

定义列:col = 0 [column A][完成]

在 col 中搜索第一行是空的:??? [尚未完成]

将第一行定义为空行:row =????? [尚未完成]

任何帮助将不胜感激。提前致谢。

0 投票
1 回答
1038 浏览

python - xlrd 正常工作时 xlwt 和 xlutils 不工作

我是 Windows 用户,我有 Python 2.7 版本。如果有人帮助我,我将不胜感激:我已经下载,用 7Zip 解压并安装了xlrdxlwtxlutils(安装似乎已经完成)但只有xlrd有效。即使像这样的短命令也会from xlwt import *导致错误,例如:

可能是什么问题呢?

0 投票
0 回答
1741 浏览

python - 使用 xlutils xlwt 复制工作簿

是否可以复制启用宏的 Excel 工作簿?例如,我有:

但是,当我然后单击 bookcopy.xlsm 将其打开时,我收到以下错误:“Excel 无法打开文件 'bookcopy.xlsm' 因为文件格式或文件扩展无效。验证该文件尚未已损坏并且文件扩展名与文件格式匹配。”

当我保存为“bookcopy.xls”时,我没有收到此错误,但我需要它是 .xlsm。有谁知道问题是什么?

0 投票
0 回答
703 浏览

excel - 使用 python 或 perl 比较两个电子表格

我喜欢比较两个电子表格。让我们说 file1.xls 和 file2.xls。我喜欢将 file1 记录与 file2 列记录进行比较。如果与任何特定单元格匹配,我想更新 file2.xls 上的特定列(例如说 file2.xls 中有一个名为 match 的列。)

例子:

我们需要根据主机名将 file1.xls 与 File2.xls 进行比较,如果匹配,我们将在 match 列下附加 yes

File1.xls(可以有空白单元格)

文件2.xls

有人可以在这里帮助我吗?可能是 python 或 perl,因为我需要在不同的平台上运行它,而不仅仅是 windows。