Python -Для извлечения данных из текстового файла с использованием Regex, используя скрипт python - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу извлечь название фирмы (Samsung India Electronics Pvt. Ltd.) из моего текстового файла, присутствующего в следующей строке после названия фирмы. Я извлек некоторые данные по своему коду, но не могу указать название фирмы, потому что я новичок в python или python regex

import re
hand = open(r'C:\Users\sachin.s\Downloads\wordFile_Billing_PrintDocument_7528cc93-3644-4e38-a7b3-10f721fa2049.txt')
copy=False
for line in hand:
    line = line.rstrip()
    if re.search('Order Number\S*: [0-9.]+', line):
        print(line)
    if re.search('Invoice No\S*: [0-9.]+', line):
        print(line)
    if re.search('Invoice Date\S*: [0-9.]+', line):
        print(line)
    if re.search('PO No\S*: [0-9.]+', line):
        print(line)

Название фирмы: Адрес:
Samsung India Electronics рядовой Ltd.
Regd Офис: 6-й этаж, Центр DLF, Sansad Marg, Нью-Дели-110001

SAMSUNG INDIA ELECTRONICS PVT LTD, MEDCHAL MANDAL HYDERABAD

RANGA REDDY DISTRICT HYDERABAD TELANGAN 5 Телефон: 5 1234567 Номер факса: Филиал: S5S2 - [SIEL] HYDERABAD
Номер заказа: 1403543436
Валюта: INR
Номер счета: 36S2I0030874
Дата счета: 15.12.2018
PI No: 5929947652

1 Ответ

0 голосов
/ 06 февраля 2020

Использовать регулярное выражение:

import re

data = """
Firm Name: Address:
Samsung India Electronics Pvt. Ltd.
Regd Office: 6th Floor, DLF Centre, Sansad Marg, New Delhi-110001

SAMSUNG INDIA ELECTRONICS PVT LTD, MEDCHAL MANDAL HYDERABAD

RANGA REDDY DISTRICT HYDERABAD TELANGANA 501401 Phone: 1234567 Fax No: Branch: S5S2 - [SIEL]HYDERABAD
Order Number: 1403543436
Currency: INR
Invoice No: 36S2I0030874
Invoice Date: 15.12.2018
PI No: 5929947652
"""

result = re.findall('Address:(.*)Regd', data, re.MULTILINE|re.DOTALL)[0]

Выход:

 Samsung India Electronics Pvt. Ltd.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...