Python извлечение данных из файлов .docx
Есть 5000 заключений в формате .doxs. Нужно из этих заключений вытащить определенные данные (Город, сумма, номер акта, дату) и сложить все в таблицу. Т.е. нужно создать базу этих заключений, на основании указанных в них данных. Просматривать каждый файл возможно, но очень долго ) Возможно ли какими то библиотеками Python реализовать такое?
Более менее разобралась с этим, на выходе получаю данные в виде:
[['4621'], ['17', 'января', '2020'], ['7618'], ['Алматы'], ['1000'], ['VU-KZ1317A'], ['не', 'связано']]
[['5829'], ['06', 'мая', '2020'], ['7782'], ['Караганда'], ['1000'], ['VU-KZ1317A'], ['однозначно', 'связано']]
[['4220'], ['13', 'декабря', '2019'], ['9569'], ['Махамбет'], ['2200'], ['MSM-KZ112'], ['не', 'связано']]
[['4337'], ['23', 'декабря', '2019'], ['855'], ['Кустанай'], ['1000'], ['VU-KZ1317A'], ['не', 'связано']]
[['2932'], ['06', 'сентября', '2019'], ['963'], ['Павлодар'], ['1000'], ['VU-KZ1317AF'], ['не', 'связано']]
[['2922'], ['05', 'сентября', '2019'], ['9934'], ['Махамбет'], ['5200'], ['MSM-KZ1129AF0'], ['не', 'связано']]
Туплю, конечно, но не могу сообразить как теперь это сложить в датафрейм.
import docx2txt
import re
import numpy as np
from numpy import array
import pandas as pd
file = docx2txt.process("E:/тех.закл/Техническое заключение 81344 .от 05.01.20.docx")
file1 = re.sub(r'[;,\s]',' ', file)
df = pd.DataFrame(columns=['Номер акта', 'Дата', 'Номер терминала', 'Город', 'Сумма', 'Модель'])
result = re.findall(r'к акту (\d+) |от (\d+ \w+\s+\d+) года |по терминалу № (\d+).|\(г.(\w+)\).|в сумме (\d+).| модель (\w+-\w+).| (\w+\s+\w+\s+)с ошибками купюроприемного устройства.', file1)
result2 = [' '.join(i).split() for i in result]
res = [' ' + ' '.join(j) for j in result2]
df1 = df.append(res)
print(df1)
Получаю:
0 Город Дата Модель Номер акта Номер терминала Сумма
0 4324 NaN NaN NaN NaN NaN NaN
1 23 декабря 2019 NaN NaN NaN NaN NaN NaN
2 81344 NaN NaN NaN NaN NaN NaN
3 Алматы NaN NaN NaN NaN NaN NaN
4 5000 NaN NaN NaN NaN NaN NaN
5 VU-KZ1317AF NaN NaN NaN NaN NaN NaN
Т.е. полученный лист у меня заполняется столбцом, а не строкой как нужно.
