前提・実現したいこと
Python初心者です
プログラムを実行しているフォルダ内の複数のファイルを読み込んで、別々にエクセルに書き込みたい
フォルダ内にファイル1, ファイル2・・といった複数のファイルがあり、それぞれの特定の範囲の文字列をエクセルファイルを新規作成して別々の範囲に書き込みたいです。
ファイル1の指定した範囲の内容ををエクセルSheet1の指定した範囲に書き込む
ファイル2の指定した範囲の内容を同一エクセルファイルの同一シートの別の範囲に書き込むといったことを行いたいです。
発生している問題・エラーメッセージ
指定した範囲の内容が書き込まれない。
ソースコードのbook = openpyxl.load_workbook('test.xlsx')以降が上手くいっていないようです。
print(line[15:20])で望んでいる範囲が出力できているので、指定している範囲は読み込めているのではないかと思っています。
sheet[C10:H557] = line[15:20] NameError: name 'C10' is not defined
該当のソースコード
Python
1import openpyxl 2 3 4book = openpyxl.Workbook() 5 6sheet = book['Sheet'] 7sheet.title = 'Sheet1' 8 9sheet['A1'] = 'gromacs2018.7' 10sheet['C1'] = 'vs.O1' 11sheet['C3'] = '最小値(gr)' 12sheet['D3'] = '最小値(gr)' 13sheet['E3'] = '最小値(gr)' 14sheet['F3'] = '最小値(gr)' 15sheet['G3'] = '最小値(gr)' 16sheet['H3'] = '最小値(gr)' 17sheet['C7'] = '距離(Å)' 18sheet['D7'] = '距離(Å)' 19sheet['E7'] = '距離(Å)' 20sheet['F7'] = '距離(Å)' 21sheet['G7'] = '距離(Å)' 22sheet['H7'] = '距離(Å)' 23sheet['L7'] = '配位数' 24sheet['N7'] = '配位数' 25sheet['M7'] = '配位数' 26sheet['O7'] = '配位数' 27sheet['P7'] = '配位数' 28sheet['Q7'] = '配位数' 29sheet['A10'] = 'r(nm)' 30sheet['B10'] = 'r(Å)' 31sheet['C10'] = 'HA11' 32sheet['L10'] = 'HA11' 33sheet['D10'] = 'CA11' 34sheet['M10'] = 'CA11' 35sheet['E10'] = 'HA21' 36sheet['N10'] = 'HA21' 37sheet['F10'] = 'CA21' 38sheet['O10'] = 'CA21' 39sheet['G10'] = 'HA3' 40sheet['P10'] = 'HA3' 41sheet['H10'] = 'CA3' 42sheet['Q10'] = 'CA3' 43 44book.save('test.xlsx') 45 46import glob 47 48# カレントディレクトリのxvgファイルを読み込む 49for file_list in glob.glob('*.xvg'): 50 51# ファイルを開く、with openでclose処理不要 52 with open(file_list) as f: 53 print(file_list) 54 for line in f.readlines()[25:572]:# 範囲を指定して改行のnを消すループ 55 line =line.rstrip() 56 print(line[15:20]) 57 58book = openpyxl.load_workbook('test.xlsx') 59for line in sheet['C10':'H557']: 60 sheet[C10:H557] = line[15:20] 61 62book.save('test.xlsx')
試したこと
どうすればやりたいことが出来るのかいろいろ調べましたが出てこないようなので自分なりに考えて作りました。
補足情報(FW/ツールのバージョンなど)
python3.9.6をwindows10で使用しています
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。