Как Python и Excel калькулятор - PullRequest
0 голосов
/ 26 ноября 2018

Это мой код Python.У меня есть файл 10.xlsx, и у меня есть около 160 строк данных в столбцах E, F и G в файле Excel.Я хочу создать новый файл Excel с именем 11.xlsx, добавив по одному столбцу в каждый столбец E, F и G и записав его в столбец H, как мне изменить код?

import openpyxl

wb = openpyxl.load_workbook('10.xlsx')

ws = wb.active


for row in range(1,ws.max_row):
    if(ws.cell(row,1).value is None):
        break
    print(ws.cell(row,1).value)


wb.save("11.xlsx")
wb.close()

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Следующий код хранит сумму столбцов E, F и G файла 10.xlsx в столбце H файла 11.xlsx.

import openpyxl

wb_10 = openpyxl.load_workbook('10.xlsx')
wb_11 = openpyxl.Workbook()

ws_10 = wb_10.active
ws_11 = wb_11.active

colE = ws_10['E']
colF = ws_10['F']
colG = ws_10['G']

for i in range(max(len(colE), len(colF), len(colG))):

    if colE[i].value == None: colE[i].value = 0
    if colF[i].value == None: colF[i].value = 0
    if colG[i].value == None: colG[i].value = 0

    ws_11.cell(row = i + 1, column = 8).value = colE[i].value + colF[i].value + colG[i].value

wb_11.save('11.xlsx')
0 голосов
/ 27 ноября 2018

Из того, что я понял, если у вас есть значения на E1, F1 и G1, вы хотите иметь на H1 = E1 + F1 + G1.Если это так, если вы хотите записать формулу в ячейки с помощью python, вы можете использовать эту команду:

for row in range(1, ws.max_row+1):
    ws['H' + str(row)] = '=E'+str(row)+'+F'+str(row)+'+G'+str(row)

Ваш вопрос не был ясен, поэтому, если есть что-то еще, попробуйте сформулироватьэто больше, может быть, редактирование вашего исходного вопроса, или комментарий здесь, и я посмотрю, что еще я могу сделать, чтобы помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...