2015-01-12 4 views
2

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 사본

enter image description here 다음 sounding001

에 특수 값을 붙여 sounding001_out의 값 주셔서 감사합니다 다음 다시 등 sounding002에 sounding_002 및합니다 않습니다

+0

당신은 당신이 얻는 무슨 소리 예제를 명확히 할 수 파이썬 문자열에 설명서를 참조해야하고, 당신은 무엇을 얻을 수 있습니까? –

+0

나는 다른 경로를 넣는 방법이 있습니까 – lalalala

답변

0

sounding001_out에서 sounding001으로 복사 하시겠습니까? , sounding002_out에서 sounding002 등 그런 다음 단일 루프를 사용하고 파일 이름에 문자열 값을 적절하게 설정해야합니다. 당신이 게시 된 경우를 들어 ,

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

이 (내부 루프를 제거) 작동합니다. 다른 경우를 들어,

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

+0

질문을 편집 했습니까? 왜냐하면 두 파일이 모두 같은 폴더에 있기 때문입니다. 감사합니다 – lalalala

+0

@lalalala - 물론. 편집을 참조하십시오. 다른 문자열 처리에 대한 참조 문서를 확인하십시오. –

+0

답장을 보내 주셔서 감사합니다. – lalalala