С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 09.07.2019
Сообщений: 28

Работа с таблицами Exel

04.08.2019, 19:59. Показов 6163. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как исправить ошибку?
Код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import xlrd, xlwt
from openpyxl import load_workbook
from openpyxl.utils import get_column_letter, column_index_from_string
from xlwt import Worksheet
 
file_obj = input('Введите путь к файлу: ') #/Users/markgurianov/Downloads/TMRCA.xlsx
base_index = int(input('Введите индекс гаплотипа: '))
#открываем файл
workbook = wb = load_workbook(filename=file_obj)
 
#выбираем активный лист
sheet = workbook.worksheets[0]
#получаем значениея в первом столбце
for row in sheet.rows:
    print(row[0].value)
#получаем имя листа
print(wb.get_sheet_names())
#получаем значение определенной ячейки
print(sheet['A1'].value)
print(sheet.cell(row=1, column=1).value)
#выбираем ячейку
c = sheet['B2']
# возвращает количество строк
print(str(c.row))
# возвращает количество столбцов
print(str(c.column))
#возвращает координаты ячейки
print(c.coordinate)
#распечатает все значения в столбце(2)
for i in range(1, 4):
     print(sheet.cell(row=i, column=2).value)
#распечатает все значения в строке (2)
for i in range(1, 4):
     print(sheet.cell(row=2, column=i).value)
#возвращает литер столбца (A, B, C...)
print(get_column_letter(1))
#возвращает индекс литера
print(column_index_from_string('A'))
#вывод знвчений указанного отрезка
for cellObj in sheet['A1':'C3']:
      for cell in cellObj:
              print(cell.coordinate, cell.value)
      print('--- END ---')
#возвращает количество строк
print(sheet.max_row)
#возвращает количество столбцов
print(sheet.max_column)
#записываем в ячейку R113 - 0
sheet.write(112,17,0)
Ошибка:File "/Users/markgurianov/Documents/Python/main.py", line 49, in <module>
sheet.write(12,17,0)
AttributeError: 'Worksheet' object has no attribute 'write'
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.08.2019, 19:59
Ответы с готовыми решениями:

Работа с таблицами Exel (в мини проекте) v2.0
Здравствуйте, попробовал написать отдельно программу для сортировки данных по столбцу и она даже запустилась, выдав верный результат. Но,...

Работа с таблицами Exel (в мини проекте)
import xlrd import xlwt from openpyxl import load_workbook from openpyxl.utils import get_column_letter, column_index_from_string ...

Работа с таблицами Exel (в мини проекте) v2.1
Почему-то после строки &quot;Проверьте данные:&quot; не выводятся данные, а так же какая-то ошибка свойственная скорей строкам типа: a = 'не знаю как...

8
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
04.08.2019, 20:15
Цитата Сообщение от MarkStav Посмотреть сообщение
AttributeError: 'Worksheet' object has no attribute 'write'
как ты понял эту, полную драматизма фразу?
0
0 / 0 / 0
Регистрация: 09.07.2019
Сообщений: 28
04.08.2019, 20:18  [ТС]
Вот так:
Python
1
from xlwt import Worksheet
Но как оказалось вообще не понял
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
04.08.2019, 20:27
Цитата Сообщение от MarkStav Посмотреть сообщение
Но как оказалось вообще не понял
именно что не понял!
перевожу = у класса Worksheet нет метода write и это действительно так, причем речь вовсе не о том Worksheet, который ты импортировал тут
Цитата Сообщение от MarkStav Посмотреть сообщение
from xlwt import Worksheet
дело в том что метод sheet = workbook.worksheets[0] возвращает лист объектов класса openpyxl.worksheet.worksheet.Worksheet и ты берешь первый такой объект. У него нет метода write, из-за тебя пришлось импортировать, чтобы убедиться)
0
0 / 0 / 0
Регистрация: 09.07.2019
Сообщений: 28
04.08.2019, 20:36  [ТС]
Подскажите пожалуйста как делать запись в ячейку правильно
Просто опыта в Python крайне мало, чтобы разобраться, а литературы про эти библиотеки еще меньше
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
04.08.2019, 21:12
Цитата Сообщение от MarkStav Посмотреть сообщение
а литературы про эти библиотеки еще меньше
Какой литературы, когда документация есть?
https://openpyxl.readthedocs.i... usage.html
0
0 / 0 / 0
Регистрация: 09.07.2019
Сообщений: 28
04.08.2019, 21:27  [ТС]
Python
1
2
sheet['R112'] = 0
sheet.save(filename=file_obj)
Добавил это (как в документации) и появилась другая ошибка...
File "/Users/markgurianov/Documents/Python/main.py", line 52, in <module>
sheet.save(filename=file_obj)
AttributeError: 'Worksheet' object has no attribute 'save'
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
04.08.2019, 21:44
Лучший ответ Сообщение было отмечено MarkStav как решение

Решение

Цитата Сообщение от MarkStav Посмотреть сообщение
Добавил это (как в документации)
В документации метод write save применяется в объекту книги, а не таблицы.
1
0 / 0 / 0
Регистрация: 09.07.2019
Сообщений: 28
04.08.2019, 21:55  [ТС]
Спасибо, все таки разобрался)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.08.2019, 21:55
Помогаю со студенческими работами здесь

Работа с таблицами
Помогите пожалуйста, буду рада любому фидбеку Есть таблица Т1 Нужно получить таблицу Т2 (id уникальны и названия столбцов Т2 равны...

Работа с таблицами
Как с помощью Python сгенерировать численные данные от 1 до 100 и записать их в новый столбец уже существующей таблицы Excel?

Работа с таблицами
Всем доброго времени суток! С Python работаю совсем мало, с html еще меньше, поэтому вопрос совсем нубский. Как определить столбцы в...

работа с таблицами
помогите пожалуйста: Задание В первой строке файла start.txt находится количество рабочих дней в месяце. Далее для каждого работника...

Работа с Word и Exel через макрос, который запускается в Exel
Есть задача: проводятся расчеты в Эксель и из него открывается документ Ворд(эта часть работает), копируется таблица из Эксель и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru