使用 Python 将单元格范围从 Excel 复制到另一个 Excel

我想将一系列单元格从一个 Excel 文件复制到另一个文件(在将数据复制到 Excel 中找到了一个示例,并根据我的需要对其进行了修改),但收到一条错误消息(如下所示)。数据已复制到目标文件,但我无法保存并关闭文件。我尝试创建、重命名并删除 save_file,但这没有帮助。我在这里缺少什么?

import win32com.client as win32



# Define the full path for the data file file

data_file = "C:/2020/data.xlsx"


# Define the full path for the final output file

save_file = "C:/2020/result.xlsx"


# Define the template file

template_file = "C:/2020/template.xlsx"



# Use com to copy the files around

excel = win32.gencache.EnsureDispatch('Excel.Application')

excel.Visible = False

excel.DisplayAlerts = False



# Template file

wb_template = excel.Workbooks.Open(template_file)


# Open up the data file

wb_data = excel.Workbooks.Open(data_file)


# Copy from the data file (select all data in V2:V22 columns)

wb_data.Worksheets("Sheet1").Range("V2:V22").Select()


# Paste into the template file

excel.Selection.Copy(Destination=wb_template.Worksheets("Sheet2").Range("C7"))


# Must convert the path file object to a string for the save to work

wb_template.SaveAs(str(save_file))



wb_template.Close()

wb_data.Close()

excel.DisplayAlerts = True

excel.Quit()`

错误信息:


com_error                                 Traceback (most recent call last)

<ipython-input-37-ffb7fd7b0160> in <module>

     33 

     34 # Must convert the path file object to a string for the save to work

---> 35 wb_template.SaveAs(str(save_file))

     36 

     37 



喵喵时光机
浏览 92回答 1
1回答

慕容3067478

更改save_file = "C:/2020/result.xlsx"为save_file = "C:\\2020\\result.xlsx"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python