Файлы к уроку:
Ссылки:
Описание
В этом уроке мы научимся импортировать таблицы из документов Microsoft Word в формате docx. Результат запишем в файл в формате csv.
Решение
Нам понадобится модуль python-docx. Из этого модуля мы воспользуемся функцией Document, запишем все таблицы в одну переменную, а потом создадим цикл по таблицам документа Word и преобразуем их в pandas DataFrame.
Примененные функции
- range
- len
- enumerate
- pandas.DataFrame
- pandas.DataFrame.rename
- pandas.Series.str.replace
- pandas.Series.str.strip
- pandas.DataFrame.astype
- pandas.DataFrame.drop
Код
Импорт модулей
from docx import Document
import pandas as pd
Читаем документ и записываем его в переменную
filename = 't1.docx'
document = Document(filename)
Создать список датафреймов из документа Word
df_tables = []
for table in document.tables:
df = [['' for i in range(len(table.columns))] for j in range(len(table.rows))]
for i, row in enumerate(table.rows):
for j, cell in enumerate(row.cells):
if cell.text:
df[i][j] = cell.text
df_tables.append(pd.DataFrame(df))
Курс Импорт данных в Python
Номер урока | Урок | Описание |
---|---|---|
1 | Python Импорт данных №1. Импорт Excel | Научимся импортировать данные из книг MS Excel в формате xlsx. |
2 | Python Импорт данных №2. Импорт CSV | Научимся импортировать данные из текстовых файлов CSV. |
3 | Python Импорт данных №3. Импорт с веб-сайта (HTML) | Импортируем таблицу с веб-страницы и запишем результат в CSV файл. |
4 | Python Импорт данных №4. Импорт таблиц XML | Научимся импортировать таблицы XML на примере данных с сайта Банка России. |
5 | Python Импорт данных №5. Импорт таблиц из PDF | Научимся импортировать нужные таблицы из PDF файлов, объединять их по вертикали в одну большую таблицу и записывать результат в CSV файл. |
6 | Python Импорт данных №6. Импорт таблиц из Word | Научимся импортировать таблицы из документов MS Word в формате docx. |
7 | Python Импорт данных №7. Импорт таблиц из Word | В этом уроке мы извлечем таблицу из документа Word и запишем ее в файл CSV. Для этого нам понадобится модули python-docx и pandas. |