составление запроса на регулярное выражение со строкой в ​​python - PullRequest
0 голосов
/ 28 мая 2018

У меня есть два CSV-файла.Я хочу взять каждую строку по очереди из csv1, найти ее запись в csv 2 и затем извлечь другую информацию для этой строки из csv2.

Я борюсь с элементами, которые я ищу, это названия компаний.И в csv1, и в csv2 они могут иметь или не иметь суффикс «LTD, LTD, Limited или LIMITED» в названии, поэтому я бы хотел, чтобы запрос не включал эти подстроки в запрос.Мой код все еще только находит точные совпадения, а не игнорирует 'Ltd' и т. Д. Я предполагаю, что именно так я комбинирую 'row [0]' с запросом регулярного выражения, но не могу понять это.

Код

import re, csv

with open (r'c:\temp\noregcompanies.csv', 'rb') as q:
    readerM=csv.reader(q)
    for row in readerM:
        companySourcename = row[0]+"".join(r'.*(?!Ltd|Limited|LTD|LIMITED).*')   
        IBcompanies = re.compile(companySourcename)
        IBcompaniesString = str(companySourcename)

    with open (r'c:\temp\chdata.csv', 'rb') as f:
        readerS = csv.reader(f)
        for row in readerS:
            companyCHname = row[0]+"".join(r'.*(?!Ltd|Limited|LTD|LIMITED)*')
            CHcompanies = re.compile(companyCHname)
            if CHcompanies.match(IBcompaniesString):
                print ('Match is: ',row [0], row[1])
                with open (r'c:\temp\outputfile.csv', 'ab') as o:
                    writer = csv.writer(o, delimiter=',')
                    writer.writerow(row) t
...