2017-06-22 24 views
0
import openpyxl 

## open the specific output file 

with open('/Users/bekir/Desktop/Python_project/Output/r391.txt') as 
wb: 
    lines = wb.read().splitlines() 

## find tht from output file 

for line in lines[8400:8480]: 
    if line.startswith('  top-water-inlet temp  ='): 
     THT = line.split('=',1)[-1].strip()[0:6] 

for line in lines[1:30]: 
    if line.startswith(' Geometry file :'): 
     run_number = line.split(':',1)[-1].strip()[0:4] 

## write THT into a specific cell of excel worksheet  

file_path = '/Users/bekir/Desktop/deneme.xlsx' 
xfile = openpyxl.load_workbook(file_path) 
ws = xfile['Sheet3'] 

# have to start range from 1 since excel cell offset starts at 1 
for i in range(1,100): 
    cell = 'C' + str(i) 

    if ws[cell].value == run_number: 
     ws['J' + str(i)] = THT 
     break 

xfile.save(file_path) 

こんにちは、テキストファイルの特定の部分を特定のセルにコピーするにはどうすればいいですか?

私は、テキストファイルの特定のporitonを見つけることができるが、私はopenpyxl(python2.7)でExcelワークシートの特定のセルにコピーすることができませんでした。プログラムはワークシートのrun_numberと合致していなければなりません(すでにワークシートに記載されています)。THTの値を座標( 'J'列& run numberの行)に書き込みます。私はコードの2番目の部分を書くことができませんでした。手伝っていただけませんか?

答えて

0
file_path = '/Users/bekir/Documents/deneme.xlsx' 
xfile = openpyxl.load_workbook(file_path) 
ws = xfile['sayfa3'] 

# have to start range from 1 since excel cell offset starts at 1 
for i in range(1,100): 
    cell = 'D' + str(i) 

    if ws[cell].value == run_number: 
     ws['D' + str(i)] = THT 
     break 

xfile.save(file_path) 
+0

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openpyxl/reader/worksheet.py:310:UserWarning:不明な拡張機能がサポートされていないため、削除されます warn(msg)。 @Alexなぜこのメッセージが表示されますか? –

+0

@BekirAydinこれは動作するように私の更新されたコードを見てください。私はこの問題を適切にテストしました。 –

+0

助けてくれてありがとう@アレックス!それは小さな修正の後に完全に働いています。私は上のコードを編集しました。 –

関連する問題