openpyxl Python
| Введение | |
| Примеры | |
| Похожие статьи |
Введение
Источник - Tech With Tim
Установка
python -m pip install openpyxl
Collecting openpyxl Downloading openpyxl-3.1.5-py2.py3-none-any.whl.metadata (2.5 kB) Collecting et-xmlfile (from openpyxl) Downloading et_xmlfile-2.0.0-py3-none-any.whl.metadata (2.7 kB) Downloading openpyxl-3.1.5-py2.py3-none-any.whl (250 kB) Downloading et_xmlfile-2.0.0-py3-none-any.whl (18 kB) Installing collected packages: et-xmlfile, openpyxl Successfully installed et-xmlfile-2.0.0 openpyxl-3.1.5
Примеры
Рассмотрим проект со следующией структурой:
openpyxl/ ├── Grades.xlsx ├── demo.py └── venv
Excel
from openpyxl import load_workbook wb = load_workbook('Grades.xlsx') ws = wb.active print(ws) print(ws['A1']) print(ws['A1'].value)
python .\demo.py
<Worksheet "Grades"> <Cell 'Grades'.A1> Name
from openpyxl import load_workbook wb = load_workbook('Grades.xlsx') ws = wb.active print(ws['A2'].value) ws['A2'].value = "Test" print(ws['A2'].value) wb.save('Grades.xlsx')
python .\demo.py
Joe Test
Excel
Создадим три новые вкладки Sheet1, Sheet2, Sheet3
Excel
from openpyxl import load_workbook wb = load_workbook('Grades.xlsx') ws = wb.active print(wb.sheetnames) wb.create_sheet("Test") print(wb.sheetnames)
python .\demo.py
['Grades', 'Sheet1', 'Sheet2', 'Sheet3'] ['Grades', 'Sheet1', 'Sheet2', 'Sheet3', 'Test']
Создадим новый файл
from openpyxl import Workbook wb = Workbook() ws = wb.active ws.title = "Partners" ws.append(['Aviasales', 'Beget', 'OTUS']) wb.save('partners.xlsx')
python .\demo.py
Excel
Создадим новый файл
from openpyxl import Workbook wb = Workbook() ws = wb.active ws.title = "Partners" ws.append(['Aviasales', 'Beget', 'OTUS']) ws.append(['Tickets', 'Hosting', 'Learning']) ws.append(['Visit them', 'to support']) ws.append(['this site']) wb.save('partners.xlsx')
python .\demo.py
Excel
Пробежимся по определённым полям. Чтобы задавать букву явно можно использовать функцию chr()
>>> chr(65) 'A' >>> chr(66) 'B'
from openpyxl import load_workbook wb = load_workbook('partners.xlsx') ws = wb.active for row in range(1, 5): for col in range(0, 3): char = chr(65 + col) print(ws[char + str(row)].value)
python .\demo.py
Aviasales Beget OTUS Tickets Hosting Learning Visit them to support None this site None None
Проще и понятнее будет вариант с использованием встроенной функции get_column_letter() для определения буквы.
from openpyxl import load_workbook from openpyxl.utils import get_column_letter wb = load_workbook('partners.xlsx') ws = wb.active for row in range(1, 5): for col in range(1, 4): char = get_column_letter(col) print(ws[char + str(row)].value)
python .\demo.py
Aviasales Beget OTUS Tickets Hosting Learning Visit them to support None this site None None
РЕКЛАМА от Яндекса. Может быть недоступна в вашем регионе
Конец рекламы. Если там пусто считайте это рекламой моей телеги
Автор статьи: Андрей Олегович
| future | |
| Type Hints | |
| Списки [] | |
| list comprehension: Абстракция списка | |
| Python | |
| if, elif, else | |
| Циклы | |
| Абстракция множеств и словарей |