2017-11-09 4 views
0

指定した行のExcelワークシートの2つの列の合計を列に記入するコードを記述する必要があります。私はPython 3.6とopenpyxlを使用しています。私は次のようないくつかのバリエーションを試しました。2つの列を一緒に追加して、openpyxlを使用して1つの列に合計を書き込む

import openpyxl 

from openpyxl import load_workbook 

from openpyxl.compat import range 

wb = load_workbook(filename='test.xlsx') 

ws = wb.get_sheet_by_name('Sheet1') 

for row in range(1, 15): 
    for col in range(4, 5): 
     value = ws['B'].value + ws['C'].value 

私はそれを保存しても何も起こりません。誰かが、行を指定することなく次の行を2行追加する方法を知っていますか?

+0

作業コードを保存する方法を含めて、問題の原因となる可能性があるので、作業コードを入力してください。 – GiantsLoveDeathMetal

+0

あなたは一緒に列を追加しようとしていますが、これは理にかなっていません。範囲を追加する必要があります(例: Excelがあなたに追加をさせることができるなら、あなたは関連した列 '(sum(c:value) c in ws ['B']) ' –

答えて

0

私は見ていないことがいくつかあります。

wb.save('file_name.xlsx') 

あなたのファイルを保存するため、変更が行われ、何か起こることがあります。 。

for row in range(1, 15): 
    result_cell = 'A{}'.format(str(row)) 
    add_function = '=B{}+C{}'.format(str(row)) 

    ws[result_cell] = add_function 

は、あなたは計算がに表示したいセルの場所を提供する必要がすなわち

b_col, c_col = ['B', 'C'] 
for row in range(1, 15): 
    result_cell = 'A{}'.format(str(row)) 

    b_value = ws[b_col + str(row)].value 
    c_value = ws[c_col +str(row)].value 

    ws[result_cell] = b_value + c_value 

しかし、このような単純な機能に働いて、私は、Excelの機能を使用したいです

関連する問題