Есть ли способ получить имена и значения переменных в области видимости?
blockquote>Нет.
Если Вам нужен старый формат XLS. Ниже кода для ansii 'cp1251'.
import xlrd
file=u'C:/Landau/task/6200.xlsx'
try:
book = xlrd.open_workbook(file,encoding_override="cp1251")
except:
book = xlrd.open_workbook(file)
print("The number of worksheets is {0}".format(book.nsheets))
print("Worksheet name(s): {0}".format(book.sheet_names()))
sh = book.sheet_by_index(0)
print("{0} {1} {2}".format(sh.name, sh.nrows, sh.ncols))
print("Cell D30 is {0}".format(sh.cell_value(rowx=29, colx=3)))
for rx in range(sh.nrows):
print(sh.row(rx))
Я настоятельно рекомендую xlrd для чтения файлов .xls
.
voyager упомянул использование автоматизации COM. Сделав это сам несколько лет назад, имейте в виду, что это настоящая PITA. Количество замечаний огромно, а документации не хватает и это раздражает. Я столкнулся с множеством странных ошибок и подводных камней, на выяснение некоторых из которых потребовалось много часов.
ОБНОВЛЕНИЕ: для новых файлов .xlsx
рекомендуемая библиотека для чтения и записи выглядит как openpyxl (спасибо, Икар Погорски).
Вы можете использовать любую из библиотек, перечисленных здесь (например, Pyxlreader, основанный на JExcelApi, или xlwt), плюс COM автоматизация для использования самого Excel для чтения файлов, но для этого вы вводите Office как зависимость вашего ПО, что не всегда возможно.