使用python将特殊值粘贴到其他多个excel文件中

2024-05-15 02:44:57 发布

您现在位置: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)

示例 enter image description here 从sounding001复制值

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

然后再对sounding_002到sounding002再进行一次,依此类推


Tags: 数据inimport文件夹fordataws粘贴
1条回答
网友
1楼 · 发布于 2024-05-15 02:44:57

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

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

相关问题 更多 >

    热门问题