使用 python 将特殊值粘贴到另一个多个 excel 文件
paste special value to another multiple excel files with python
我尝试使用 glob 两次,以便它可以复制并粘贴到多个文件。但是这个东西只复制第一个数据并打印从第一个到最后一个相同的所有数据。我想将第一个复制到不同的文件夹第一个数据,然后将第二个复制到不同的文件夹第二个数据,依此类推。提前感谢您的帮助
from win32com.client import Dispatch
import glob
ws = 'OUTPUT'
ws2 = 'Original data'
excel = Dispatch("Excel.Application")
for filename in glob.glob("D:/apera/Workspace/Sounding/sounding*.xlsx"):
data = excel.Workbooks.Open(filename)
data.Worksheets(ws).Range('F1:H500').Copy()
for filename2 in glob.glob("D:/apera/Workspace/Sounding2/sounding*.xlsx"):
copy = excel.Workbooks.Open(filename2)
copy.Worksheets(ws2).Range('A1:C500').PasteSpecial(Paste=-4163)
例子
从 sounding001_out
复制值
然后在 sounding001
中粘贴特殊值
然后再做一次 sounding_002 到 sounding002,依此类推
你说你想从 sounding001_out
复制到 sounding001
,从 sounding002_out
复制到 sounding002
,等等。
然后,您必须使用一个循环,并适当地为您的文件名设置字符串值。
对于您发布的案例,
filename2 = filename.replace( '_', '' ).replace( 'Sounding', 'Sounding2' )
应该可以工作(删除内循环)。对于其他情况,您必须参考 Python strings
上的文档
我尝试使用 glob 两次,以便它可以复制并粘贴到多个文件。但是这个东西只复制第一个数据并打印从第一个到最后一个相同的所有数据。我想将第一个复制到不同的文件夹第一个数据,然后将第二个复制到不同的文件夹第二个数据,依此类推。提前感谢您的帮助
from win32com.client import Dispatch
import glob
ws = 'OUTPUT'
ws2 = 'Original data'
excel = Dispatch("Excel.Application")
for filename in glob.glob("D:/apera/Workspace/Sounding/sounding*.xlsx"):
data = excel.Workbooks.Open(filename)
data.Worksheets(ws).Range('F1:H500').Copy()
for filename2 in glob.glob("D:/apera/Workspace/Sounding2/sounding*.xlsx"):
copy = excel.Workbooks.Open(filename2)
copy.Worksheets(ws2).Range('A1:C500').PasteSpecial(Paste=-4163)
例子
然后再做一次 sounding_002 到 sounding002,依此类推
你说你想从 sounding001_out
复制到 sounding001
,从 sounding002_out
复制到 sounding002
,等等。
然后,您必须使用一个循环,并适当地为您的文件名设置字符串值。
对于您发布的案例,
filename2 = filename.replace( '_', '' ).replace( 'Sounding', 'Sounding2' )
应该可以工作(删除内循环)。对于其他情况,您必须参考 Python strings
上的文档