我尝试使用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,依此类推
答案 0 :(得分:0)
您说要从sounding001_out
复制到sounding001
,从sounding002_out
复制到sounding002
等。
然后,您必须使用单个循环,并适当地为您的文件名设置字符串值。
对于您发布的案例,
filename2 = filename.replace( '_', '' ).replace( 'Sounding', 'Sounding2' )
应该工作(删除内循环)。对于其他情况,您必须参考有关Python字符串的文档