繁体   English   中英

Python-使用Python脚本使用Regex从文本文件中提取数据

[英]Python-To Extract Data from Text file using Regex using python script

我想从我的文本文件中提取公司名称(Samsung India Electronics Pvt. Ltd.),该文件出现在公司名称之后的下一行。 我已经通过我的代码提取了一些数据,但我无法提取公司名称,因为我是 python 或 python 正则表达式的新手

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)

公司名称: 地址:
三星印度电子列兵。 有限公司
Regd 办公室:6th Floor, DLF Centre, Sansad Marg, New Delhi-110001

SAMSUNG INDIA ELECTRONICS PVT LTD, MEDCHAL MANDAL HYDERABAD

RANGA REDDY DISTRICT HYDERABAD TELANGANA 501401 电话:1234567 传真号码:分公司:S5S2 - [SIEL]HYDERABAD
订单号:1403543436
货币:印度卢比
发票编号:36S2I0030874
发票日期:15.12.2018
产品编号:5929947652

使用正则表达式:

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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM