python - 将 .xlsx 文件与 Python 合并

标签 python excel vba

这里是双头问题,

首先,我一直在尝试搜索一种在 python 中读取 .xlsx 文件的方法。 xlrd 现在是否读取 .xlsx 文件?如果不是,那么读取/写入此类文件的推荐方法是什么?

其次,我有两个包含相似信息的文件。一个具有范围子字段的主要字段(如坐标(主要字段)-> 城市 -> 州 -> 国家)。在旧文件中,信息被赋予一个 ID 号,而新文件(删除/添加记录)没有这些 ID。在 python 中,我将 1) 打开这两个文件 2) 将旧文件的主字段与新文件的主字段进行比较,如果它们匹配,则将它们的信息合并到一个新文件中。鉴于它不是太大的文件,我不介意 O(n^2) 复杂性。我的问题是:在 VBA 或 excel 中是否有明确定义的方法来执行此操作?我想到的所有使用 excel 库的东西似乎都太慢了,而且我对 VBA 也不是很好。

最佳答案

我经常通过 python 和 xlrd,python 和 Excel COM 对象访问 excel 文件。对于这个作业,xlrd 将不起作用,因为它不支持 xlsx 格式。但无论如何,这两种方法对于您正在寻找的东西来说都是矫枉过正的。简单的 Excel 公式将提供您想要的,特别是 VLOOKUP。

VLOOKUP“在表的最左列中查找一个值,然后从您指定的列的同一行中返回一个值”。

关于 VLOOKUP 的一些建议,首先,如果您想匹配多个单元格,请创建一个“键”单元格,它连接您感兴趣的单元格(在两个工作簿中)。其次,确保将 VLOOKUP 的最后一个参数设置为 FALSE,因为您只需要完全匹配。

关于性能,excel 公式通常非常快。

阅读 VLOOKUP 上的帮助文件并在此处提出更多问题。

后期编辑(来自 Mark Ba​​ker 的回答):现在有一个用于 xlsx 的 python 解决方案。 Openpyxl今年由 Eric Gazoni 创建,用于读写 Excel 的 xlsx 格式。

关于python - 将 .xlsx 文件与 Python 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3997745/

相关文章:

c# - 如何使用 Process 对象获取实例

excel - Visual Basic Excel 宏 MessageBox.Show 引发 "Object Required"错误

Excel VBA 编辑器自动取消大写属性

python - 图片的 urlretrieve 返回 HTTP 错误 403 : Forbidden

python - 从本地计算机查询网站的 python 脚本

python - Pandas 系列: change order of index

excel - 按下 "Refresh All"后如何运行VBA代码

javascript - 无法使用 Python 和 Django 进行 AJAX 调用

mysql - 如何根据两个sql表中的值找出哪些列相似?

html - 如何为电子邮件格式化 html 表格