2017-06-09 10 views
0

を用いてシートをエクセルはそれぞれから特定のセルの値を抽出するため、30枚優れパイソン

C3セル:給与D3セル:$ 4300

C4セル:Office製品のD4セル:$ 350

C5セル:銀行は、D5セル充電:$ 43などを

だから、私はこのコードでそれらのセルにアクセスすることができる: シート1 = workbook.get_sheet_by_name(「1」)に

アクセス:

シート名が「1」であるので、私は「シート1」にシートを割り当て細胞:

exp1name =シート1 [ 'C3']値

exp1value = STR(シート1 [ 'D3']の値。)

exp2name ....など

exp2value ... etc(最初の方法と同じ方法)

しかし、1ヶ月に1枚ごとに30枚または31枚の用紙を毎日繰り返す必要はなく、処理をループする必要があります。

がループを行うことになっている:sheet31まで、すべてのシートで ループ2つの列をと値

これは専門家のためのかなり基本的なコードである

を印刷し、私は何度も試みたが、それを行うことができませんでした、助けてください。前もって感謝します!

答えて

0

ここでは、始めるのに役立つはずですいくつかの擬似コードです:

for i in range(1, 31): 
    sheet = workbook.get_sheet_by_name(str(i)) 
    print(sheet['C3'].value) 
    print(str(sheet['D3'].value)) 
    print() 

最後の印刷はシートの間に空白行を追加するためです。

+0

おかげで、あなたは最高です – Ozzy

0

これを正しく理解すれば、すべてのデータを変数に保存したいのですか?ですから、あなたのexpencesをアクセスもしたい場合は

month = {} # dictionary 
for i in range (1,31): # For each day 
    sheet_i = workbook.get_sheet_by_name(str(i)) 
    day = {} 
    for j in range (2,5): # Depend on number of rows: 
     day[sheet_i['C'+str(j)].value] = sheet_i['D'+str(j)].value 
    month['sheet' + str(i)] = day 

:あなたはすべて同じ名前の変数を作ることができないので、私は辞書のキーとして毎日を使用することになり、値はすべての変数を持つ辞書を保持しています今月の4日目:

expences_4th_day_of_the_month = month['sheet4']['expences'] 
関連する問題