я хочу, чтобы мой файл Excel читал и писал быстро с openpyxl - PullRequest
0 голосов
/ 07 ноября 2019

мой код медленный, я хочу сделать его, например, более быстрым: код должен принимать значение в ячейке a1 и изменять его значение и переписывать заново в той же ячейке. Вы можете мне помочь с этим?

import openpyxl

row = 1
counter = 0
while row <= 20980:
    book = openpyxl.load_workbook('semsar_full.xlsx')
    sheet = book.active
    a3 = sheet.cell(row=row, column=1)
    a4 = a3.value + ':::'
    sheet.cell(row=row, column=1, value=a4)
    counter += 1
    row += 1
    print(counter)
    book.save('semsar_full.xlsx')

1 Ответ

1 голос
/ 07 ноября 2019

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

import openpyxl

book = openpyxl.load_workbook('semsar_full.xlsx')
sheet = book.active
row = 1
counter = 0
while row <= 20980:

    a3 = sheet.cell(row=row, column=1)
    a4 = a3.value + ':::'
    sheet.cell(row=row, column=1, value=a4)
    counter += 1
    row += 1
    print(counter)

book.save('semsar_full.xlsx')
...