python - Python:复制并粘贴到特定的行和列
问题描述
我在 excel 中有 2 个输入文件和 1 个主文件。我想使用 python 从输入文件中复制值并粘贴到相应行和列的主文件中,如下所示:
Input file 1 (COPIED)
Col Row extra1 extra2 value
A 70 6.1
B 87 5.0
G 90 4.4
Input file 2 (COPIED)
Col Row extra1 extra2 value
C 10 0.9
F 17 3.3
G 20 1.1
Main file (PASTED)
Col Row value
A 70 6.1
B 87 5.0
C 10 0.9
F 17 3.3
G 20 1.1
G 90 4.4
row 和 col 列已经被填满了。任何人对如何执行此操作有任何解决方案或见解?先感谢您
解决方案
使用 openpyxl 在两个不同的工作簿之间复制列可以如下完成:
import openpyxl
wb1 = openpyxl.load_workbook('B.xlsx')
ws1 = wb1.active
wb2 = openpyxl.load_workbook('E.xlsx')
ws2 = wb2.active
for src, dst in zip(ws1['B:B'], ws2['AN:AN']):
dst.value = src.value
wb2.save('E.xlsx')
对于一系列列,以下将起作用:
import openpyxl
wb1 = openpyxl.load_workbook('B.xlsx')
ws1 = wb1.active
wb2 = openpyxl.load_workbook('E.xlsx')
ws2 = wb2.active
for src, dst in zip(ws1['A:I'], ws2['AN:AV']):
for cell_src, cell_dst in zip(src, dst):
cell_dst.value = cell_src.value
wb2.save('E.xlsx')
推荐阅读
- qt - override_version 中的内部错误,位于 ../../gold/resolve.cc:61?
- python - 我正在计算字典中分数的平均值,但它返回错误
- c++ - 需要制作一个类(long_number)代表一个从1到60任意长度的数字,带有构造函数和打印函数
- c# - Azure IoT Hub:无法使用 AMQP 协议调用直接方法
- extjs6 - ExtJs6:如果组件有 itemId,Ext.ComponentQuery.query('#autogenerated_id') 返回一个空数组
- javascript - 如何为 MaxOS X 创建 nwjs 应用程序安装程序?是否需要 MacBook 来创建安装程序?
- algorithm - 具有三个递归调用的递归函数的时间复杂度
- linux - VM 或 Hypervisor 中的 Linux 内核配置范围
- reactjs - 尝试通过反应调整图像大小
- apache-spark - pyspark我们如何检查列值是否包含在列表中