@Maximka123

Почему не работает код в таком виде?

Добрый день! Я не так давно начал изучать Python.

После работы по часу два уделяю этому дело.
В связи с этим как я понимаю у меня фундаментальные пробелы.

В данный момент я решил пойти самым простым способом изучения. Учить на реальной задаче.

На работе много Excel документов и я хочу научиться вытаскивать данные с помощью Python из них. Нашел библиотеку xlwt, xlrd вот с ними и колдую. Но не понимаю почему мой код не выводит данные ячейки. Вернее он их выводит но... в таком вот виде
import xlrd

# Передаем файл Эксель в Питоне
book1 = xlrd.open_workbook('/Users/admin/Desktop/WorkExcel/Naselenie.xlsx')

# Открываем первый лист в Эксель
sheet1 = book1.sheet_by_index(0)

# Пробуем тестово получить данные из первой ячейки и строки
sheet1.cell_value(0,0)
print(sheet1)

Результат: - то есть все работает но ссылается на адрес в памяти как я понимаю.
Как исправить данную ситуацию я нашел. Я просто создал новую переменную и в нее передал значения.
import xlrd

# Передаем файл Эксель в Питоне
book1 = xlrd.open_workbook('/Users/admin/Desktop/WorkExcel/Naselenie.xlsx')

# Открываем первый лист в Эксель
sheet1 = book1.sheet_by_index(0)

# Пробуем тестово получить данные из первой ячейки и строки
rb = sheet1.cell_value(0,0)
print(rb)

Результат верный! Но уважаемое сообщество, подскажите почему мне необходимо передавать данные в переменную в некоторых случаях а в некоторых подобных нет.
Я не могу понять когда надо это делать а когда нет!
Всем огромное спасибо!
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
rSedoy
@rSedoy
Python/Django
print(sheet1.cell_value(0,0))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ariezzz_python
Чтобы ответить на этот вопрос надо объяснить всю концепцию ООП
Советую почитать про ООП в Python

по факту sheet1.cell_value(0,0) - это функция которая которая возвращает значение, а так как это значение не ссылается ни на одну из "переменных" то она сразу удаляется сборщиком мусора
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 140 000 до 180 000 руб.
Marilyn Москва
от 80 000 до 110 000 руб.
Платформа НТИ Москва
от 60 000 до 100 000 руб.
23 февр. 2019, в 03:05
40000 руб./за проект
22 февр. 2019, в 23:23
30000 руб./за проект
22 февр. 2019, в 22:04
1250 руб./за проект