Python 从xlsx复制到另一个xlsx中的特定图纸
我需要一些python方面的帮助。基本上我有2个文件(本例中为file1和file2)。文件1包含多张图纸,文件2仅为一张图纸。因此,在完成了file2中的一些工作之后,现在我有了所需的数据帧。我需要将这个数据框粘贴到file1中的一个特定工作表中Python 从xlsx复制到另一个xlsx中的特定图纸,python,excel,xlsx,copying,Python,Excel,Xlsx,Copying,我需要一些python方面的帮助。基本上我有2个文件(本例中为file1和file2)。文件1包含多张图纸,文件2仅为一张图纸。因此,在完成了file2中的一些工作之后,现在我有了所需的数据帧。我需要将这个数据框粘贴到file1中的一个特定工作表中 File1 A B C D E F G <data> <data> <data> <data> <
File1
A B C D E F G
<data> <data> <data> <data> <formula> <formula> <formula>
<data> <data> <data> <data> <formula> <formula> <formula>
<data> <data> <data> <data> <formula> <formula> <formula>
<data> <data> <data> <data> <formula> <formula> <formula>
<data> <data> <data> <data> <formula> <formula> <formula>
<data> <data> <data> <data> <formula> <formula> <formula>
File2
A B C D
<Newdata> <Newdata> <Newdata> <Newdata>
<Newdata> <Newdata> <Newdata> <Newdata>
<Newdata> <Newdata> <Newdata> <Newdata>
<Newdata> <Newdata> <Newdata> <Newdata>
<Newdata> <Newdata> <Newdata> <Newdata>
<Newdata> <Newdata> <Newdata> <Newdata>
So now i need to update the file one with the new Data.
File1
A B C D E F G
<Newdata> <Newdata> <Newdata> <Newdata> <formula> <formula> <formula>
<Newdata> <Newdata> <Newdata> <Newdata> <formula> <formula> <formula>
<Newdata> <Newdata> <Newdata> <Newdata> <formula> <formula> <formula>
<Newdata> <Newdata> <Newdata> <Newdata> <formula> <formula> <formula>
<Newdata> <Newdata> <Newdata> <Newdata> <formula> <formula> <formula>
<Newdata> <Newdata> <Newdata> <Newdata> <formula> <formula> <formula>
File1
A B C D E F G
文件2
A、B、C、D
现在我需要用新数据更新文件1。
文件1
A B C D E F G
因此,列E、F和G有一些公式,这些公式由列A、B、C、D中的数据更新
我尝试了不同的选择来做这件事。连接两个文件并显示我尝试的列,加载两个文件并使用新信息创建一个新文件。。。主要的问题是,在文件1中,我有几个工作表需要保留,因为列E、F和G(带有公式的那一列)将更新其他工作表
所以如果有人帮我一把。谢谢,我将感谢您的帮助毫无疑问,有更好的方法可以做到这一点,但我可以这样做:
from openpyxl import load_workbook
import os
os.chdir("Directory Path here")
wb = load_workbook('file.xlsx')
ws = wb.active
#or use the below to pick sheet as by name
# ws = wb.get_sheet_by_name
inde = []
val = []
for col in ws.iter_cols():
for cell in col:
h = cell.coordinate
inde.append(h)
v = cell.value
val.append(v)
diction = dict(zip(inde,val))
wb1=load_workbook('file1.xlsx')
ws1 = wb1.active
for i in diction.keys():
ws1[i] = diction[i]
wb1.save('file1.xlsx')
使用
openpyxl
。它将能够处理.xlsx
文件中所需的所有内容。如果对这两个文件都使用xlsx
,请让我知道,我会尽力帮助。刚刚注意到它是一个xlsb
文件。不知道这些:(@Sid.xlsb是一个很大的xlsx,我可以在两个文件中都使用xlsx,你能帮我一下吗嗯..我似乎无法将数据保存在E、F和G行中。试图找出原因。如果你愿意,我可以发布代码到现在。谢谢Sid,让我试试这个解决方案。早上好。很抱歉回答了这么长时间。不,没有工作。我收到了这个错误。对于ws.iter\u cols()中的col:AttributeError:“工作表”对象没有属性“iter\u cols”
奇怪,我刚刚再次尝试了它,它工作得很好。请仔细检查您端的代码?同样的错误。您使用的是哪个版本的openpyxl我使用的是最新版本。请尝试更新openpyxl。