问题标签 [openpyxl]
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.
python-3.x - Openpyxl:单元格值的操作
我正在尝试从 Excel 工作表中提取单元格值,对它们进行数学运算,然后将输出写入新工作表。我不断收到错误类型。我之前已经成功运行过代码,但只是添加了它的这一方面,因此代码已被提炼到下面:
抛出 TypeError 消息:
first = ws.cell(row=x+y, column=1).value)/100
TypeError: /: 'NoneType' 和 'int' 的操作数类型不受支持
我假设这分别指的是 ws.cell 值和 100,所以我也尝试过:
这引发了:
TypeError: int() 参数必须是字符串或数字
我已经确认该列中的每个单元格仅由数字组成。此外,openpyxl 的 cell.data_type 返回“n”(据我所知,据我所知,可能是数字)。
我还测试了更简单的数学,并且有同样的错误。
我所有的搜索似乎都指向 openpyxl 通常表现得像这样。我做错了什么,或者这仅仅是模块的限制?如果是这样,是否有任何程序化解决方法?
作为奖励,将不胜感激有关更简洁地编写代码的建议。我才刚刚开始,觉得必须有一种更干净的方式来写这样的想法。
Python 3.3、openpyxl-1.6.2、Windows 7
概括
cfi 的回答帮助我弄清楚了,尽管我使用了一个稍微不同的解决方法。在检查原始文件时,有一个空单元格(我之前错过了)。由于稍后我将在具有更多零星空单元格的列上重新使用此代码,因此我使用了:
因此,如果指定的单元格为空,则会被忽略并跳过。
python-2.7 - Openpyxl:保存文件时删除公式
我使用 openpyxl 编辑一个在某些单元格中包含一些公式的 excel 文件。现在,当我从文本文件中填充单元格时,我希望公式能够工作并给我想要的输出。但我观察到的是公式被删除并且单元格被留空。
python - 使用 Openpyxl 将单元格分配给变量
我想将当前行上的每个单元格值分配给一个单独的变量。当我尝试上面的代码时,我得到了错误:
TypeError:“unicode”对象不可调用
非常感谢任何帮助,谢谢。
python - 如何使用 openpyxl 使用宏保存 XLSM 文件
我有带有宏功能的.xlsm文件。我正在使用openpyxl加载它并将一些数据写入文件,最后想保存为不同的.xlsm文件。
要将文件保存为 XLSM 文件,我在 Python 脚本中使用了以下代码。
但如果我按上述方式保存,我将无法打开该文件。但是,如果我将它保存为.xlsx,那么我可以在没有原始文件具有的宏功能的情况下打开文件。
我想打开一个具有宏功能的 Excel 工作表,编辑文件并使用openpyxl将其保存为新的.xlsm文件。我怎样才能做到这一点?
python - 如何在 Ubuntu 上安装当前的 OpenPYXL 包
我有一些电子表格阅读代码(使用 openpyxl)在我的 Windows 安装上正常工作。但是,在我的 Ubuntu Rackspace 服务器上,它失败并出现命名范围错误。
我注意到 Ubuntu 上的 openpyxl 软件包(我上周使用 apt-get 安装)已经有几年的历史了(1.5.6)。我想安装最新版本(1.6.2)。
我可以使用什么工具来安装较新的版本,还是我需要手动执行?
python - Openpyxl 挂起保存大文件
我编写了一个脚本,它读取 XML 文件并将相关数据输出到 TSV 文件。我正在将其转换为使用 openpyxl 编写 XLSX 文件。每当我在脚本末尾保存我的工作簿时,它会在保存时挂起 30 多秒。我假设这是由于我正在写入大量数据(10144 行到列 'BG' )。有什么方法可以优化它以使保存更快,或者在我生成文件时直接写入文件,这样最后就不必像这样保存了?
python - 使用 pandas.io.parsers.ExcelFile 将 Excel 文件从 StringIO 缓冲区读取到数据帧?
我想将字符串缓冲区读入 pandas DataFrame。似乎一个好方法是使用 pandas 的 ExcelFile 功能。我试图做类似以下的事情:
从那时起,我猜 ExcelFile.parse() 可以使用了。
这会产生以下错误:
关于如何从缓冲区中读取文件的任何想法?
python - Openpyxl load_workbook 和保存时间太长
以下几行第一行耗时 45 秒,第二行耗时一分半钟。Something.xls 有 4 MB 大,变化很小。有什么不对?
一些细节:我在 Windwos 7 上使用 Python 2.7.3,工作簿有 2 张工作表,其中第一张有 67610 行,我没有访问任何网络来完成这项工作。
python - openpyxl python3——格式化整行会引发奇怪的行为
我正在使用透视表 XLSX 文件并编写脚本以将它们解析为每个选项卡的新文件。
由于默认情况下 openpyxl 不支持数据透视表,因此我需要做一些工作来重新插入在复制过程中丢失的数据透视表“样式”。
为此,我将遍历每一行和每一列,查找第Total
0 列中的值。一旦找到,该行应更改为 all bold=True
。
相反,我收到不稳定的行为,有时会在第一个None
. 我的print('bolding totals')
消息显示它正在正确评估每一行/单元格。我是不是脑子有问题,把循环上的缩进搞砸了,也许?
在这一点上,我怀疑这是 openpyxl 处理样式中的一个错误。我进行了另一个非常简单的编辑并得到了奇怪的行为。
如果我们有一个带有粗体/非粗体单元格的简单布局。然后我们运行这个简单的命令来改变一个单元格:
整个列的输出会发生变化,而不仅仅是单元格。
python - Pandas:在 excel 文件中查找工作表列表
新版 Pandas 使用如下界面加载 Excel 文件:
但是如果我不知道可用的床单怎么办?
例如,我正在使用以下表格的 excel 文件
数据 1、数据 2 ...、数据 N、foo、bar
但我不知道N
先验。
有没有办法从 Pandas 中的 excel 文档中获取工作表列表?