使用python将特殊值粘贴到另一个多个excel文件

时间:2015-01-12 15:47:41

标签: python excel win32com

我尝试使用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)

示例 enter image description here 复制sounding001_out

中的值

enter image description here 然后在sounding001中粘贴特殊值

然后再次将sounding_002发送到sounding002,依此类推

1 个答案:

答案 0 :(得分:0)

您说要从sounding001_out复制到sounding001,从sounding002_out复制到sounding002等。 然后,您必须使用单个循环,并适当地为您的文件名设置字符串值。 对于您发布的案例,

filename2 = filename.replace( '_', '' ).replace( 'Sounding', 'Sounding2' )

应该工作(删除内循环)。对于其他情况,您必须参考有关Python字符串的文档

https://docs.python.org/2/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange

https://docs.python.org/2/library/string.html