Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 16, 2018 18:20:43

Tsunetomo
Зарегистрирован: 2015-04-01
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Заполнение столбца Excel файла циклом

Добрый день, уважаемые форумчане, столкнулся с задачей считывания данных из столбца Excel файла c последующей дозаписью в ячейки этого же столбца. Если со считыванием справился при помощи xlrd то с записью возникли проблемы (использовал openpyxl) , подскажите пожалуйста где я ошибся?
Вот пример моего кода при помощи которого пытался реализовать задачу:




import xlrd
from openpyxl import Workbook

rb_1 = xlrd.open_workbook(r'C:\corrected.xls')
sheet_1 = rb_1.sheet_by_index(0)
val_1 = sheet_1.col_values(8)[1:]
wb = Workbook(r'C:\corrected.xls')
ws = wb.active
for i in val_1:
if i:
product = i
purpose = 'Перечисление средств согласно Договора от 07.12.2010р'
payment_purpose = (purpose +' '+ product)
ws.append(payment_purpose)
else:
pass
wb.save(r'C:\corrected.xls')

Отредактировано Tsunetomo (Сен. 16, 2018 18:22:01)

Офлайн

#2 Сен. 17, 2018 09:06:22

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Заполнение столбца Excel файла циклом

Насколько мне известно, openpyxl работает с таблицами в формате excell2010, т.е. *.xlsx,
а xlrd для работы со старым форматом excell97 (кажется, так он называется), т.е. *.xls
Возможно, вся проблема именно в этом.
Можно попробовать использовать xlwt и создать новую книгу, куда будет собираться информация с дозаписью. Документация xlwt
Если с openpyxl хорошо разобрались, то можно попробовать сделать через него в другой файл *.xlsx
Так же посмотрите в сторону xlutils, обратите внимание на xlutils.copy
Документация xlutils

Отредактировано Rafik (Сен. 17, 2018 09:24:04)

Офлайн

#3 Сен. 19, 2018 23:42:50

Tsunetomo
Зарегистрирован: 2015-04-01
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Заполнение столбца Excel файла циклом

Rafik
Насколько мне известно, openpyxl работает с таблицами в формате excell2010, т.е. *.xlsx, а xlrd для работы со старым форматом excell97 (кажется, так он называется), т.е. *.xlsВозможно, вся проблема именно в этом.Можно попробовать использовать xlwt и создать новую книгу, куда будет собираться информация с дозаписью. Документация xlwtЕсли с openpyxl хорошо разобрались, то можно попробовать сделать через него в другой файл *.xlsxТак же посмотрите в сторону xlutils, обратите внимание на xlutils.copyДокументация xlutils
спасибо, решил через xlwt. К сожалению нужен был только формат *.xls.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version