Я пытаюсь собрать информацию из нескольких файлов Word, которые хранятся в разных папках и подпапках. С помощью приведенного ниже сценария я не получаю полную информацию, и когда я пытаюсь извлечь данные из старого формата слова - «.do c», это выдает ошибку, что это не формат слова.
import glob
import os
import re
import docx
with open('your_file.txt', 'w') as f:
for directory in glob.glob('*'):
for filename in glob.glob(os.path.join(directory, "*")):
if filename.endswith((".docx")):
document = docx.Document(filename)
for paragraph in document.paragraphs:
if paragraph.text:
#docText.append(paragraph.text)
f.write(paragraph.text)
Папки с данными Word / есть подпапки /:
![enter image description here](https://i.stack.imgur.com/llBxQ.png)
Regex не работает с параграфом. Текст, и я попытался извлечь информацию в текстовом файле, а затем получить информацию. Мне нужно собрать в кадре данных: название фирмы, название сделки, значение, описание.
import re
import pandas as pd
raw_data = open('your_file.txt', 'r').read()
FirmName = re.findall(r'Firm name\s*(.*?)\s*Marketing', raw_data, flags=re.DOTALL)
DealName = re.findall(r'Deal name\s*(.*?)\s*Date completed', raw_data, flags=re.DOTALL)
Value = re.findall(r'Date Completed\s*(.*?)\s*Cliet(s) advised', raw_data, flags=re.DOTALL)
Description = re.findall(r'Description\s*(.*?)\s*Deal Name', raw_data, flags=re.DOTALL)
df = pd.DataFrame(columns=['Firm Name', 'Deal Name','Value', 'Description'])
df = df.append({'Firm Name': FirmName, 'Deal Name': DealName, 'Value': Value, 'Description': Description}, ignore_index=True)
df.to_csv(r'dataset.csv', index=False)
Проблема, с которой я сталкиваюсь, состоит в том, что, когда я собираю всю информацию в одном текстовом файле, регулярное выражение извлекается не по порядку. Каждый файл слова имеет одно фирменное наименование и несколько сделок, стоимость и описание. Результат вывода желания: ![enter image description here](https://i.stack.imgur.com/peL83.png)
Пример вывода .docx: file
![enter image description here](https://i.stack.imgur.com/EJYUd.png)