Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从xlsx复制到另一个xlsx中的特定图纸_Python_Excel_Xlsx_Copying - Fatal编程技术网

Python 从xlsx复制到另一个xlsx中的特定图纸

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> <

我需要一些python方面的帮助。基本上我有2个文件(本例中为file1和file2)。文件1包含多张图纸,文件2仅为一张图纸。因此,在完成了file2中的一些工作之后,现在我有了所需的数据帧。我需要将这个数据框粘贴到file1中的一个特定工作表中

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。