您可以使用 Python 的 itertools.groupby() 函数一次读取整个块。然后可以对其进行处理以将其放入一行中,并在似乎是逗号和分号的地方进行拆分。正则表达式可以定位括号内的逗号并将其替换为不同的字符,例如-.
from itertools import groupby
import csv
import io
import re
with open('sdnlist.txt') as f_input, open('output.csv', 'w', newline='') as f_output:
csv_output = csv.writer(f_output)
csv_output.writerow(list('abcdefg'))
for key, block in groupby(f_input, lambda x: x.strip() != ''):
if key:
single_line = ' '.join(block).replace('\n', '').replace(';', ',')
single_line = re.sub('(\([^)]*?)(,)([^)]*?\))', r'\1-\3', single_line)
row = next(csv.reader(io.StringIO(single_line), skipinitialspace=True))
csv_output.writerow(row)
#print('\n'.join(row) + '\n')
这应该会给你以下输出:
a,b,c,d,e,f,g
3G LOJISTIK VE HAVACILIK HIZMETLARI LTD.,No. 3/182 Altintepe Bagdat Cad. Istasyon Yolu Sok.,Istanbul 34840,Turkey,Additional Sanctions Information - Subject to Secondary Sanctions [SDGT] [IFSR] (Linked To: MAHAN AIR).
7 KARNES,Avenida Ciudad de Cali No. 15A-91,Local A06-07,Bogota,Colombia,Matricula Mercantil No 1978075 (Colombia) [SDNTK].
7 MAKARA PHARY CO.,LTD.,Deaum Mien,Daeum Mien,Ta Khmau,Kandal 8252,Cambodia,Company Number 00037307 (Cambodia) [GLOMAG] (Linked To: SOPHARY- Kim).
7TH OF TIR (a.k.a. 7TH OF TIR COMPLEX- a.k.a. 7TH OF TIR INDUSTRIAL COMPLEX,a.k.a. 7TH OF TIR INDUSTRIES,a.k.a. 7TH OF TIR INDUSTRIES OF ISFAHAN/ESFAHAN,a.k.a. MOJTAMAE SANATE HAFTOME TIR,a.k.a. SANAYE HAFTOME TIR,a.k.a. SEVENTH OF TIR),Mobarakeh Road Km 45,Isfahan,Iran,P.O. Box 81465-478,Isfahan,Iran,Additional Sanctions Information - Subject to Secondary Sanctions [NPWMD] [IFSR].
7TH OF TIR COMPLEX (a.k.a. 7TH OF TIR- a.k.a. 7TH OF TIR INDUSTRIAL COMPLEX,a.k.a. 7TH OF TIR INDUSTRIES,a.k.a. 7TH OF TIR INDUSTRIES OF ISFAHAN/ESFAHAN,a.k.a. MOJTAMAE SANATE HAFTOME TIR,a.k.a. SANAYE HAFTOME TIR,a.k.a. SEVENTH OF TIR),Mobarakeh Road Km 45,Isfahan,Iran,P.O. Box 81465-478,Isfahan,Iran,Additional Sanctions Information - Subject to Secondary Sanctions [NPWMD] [IFSR].
7TH OF TIR INDUSTRIAL COMPLEX (a.k.a. 7TH OF TIR- a.k.a. 7TH OF TIR COMPLEX,a.k.a. 7TH OF TIR INDUSTRIES,a.k.a. 7TH OF TIR INDUSTRIES OF ISFAHAN/ESFAHAN,a.k.a. MOJTAMAE SANATE HAFTOME TIR,a.k.a. SANAYE HAFTOME TIR,a.k.a. SEVENTH OF TIR),Mobarakeh Road Km 45,Isfahan,Iran,P.O. Box 81465-478,Isfahan,Iran,Additional Sanctions Information - Subject to Secondary Sanctions [NPWMD] [IFSR].
7TH OF TIR INDUSTRIES (a.k.a. 7TH OF TIR- a.k.a. 7TH OF TIR COMPLEX,a.k.a. 7TH OF TIR INDUSTRIAL COMPLEX,a.k.a. 7TH OF TIR INDUSTRIES OF ISFAHAN/ESFAHAN,a.k.a. MOJTAMAE SANATE HAFTOME TIR,a.k.a. SANAYE HAFTOME TIR,a.k.a. SEVENTH OF TIR),Mobarakeh Road Km 45,Isfahan,Iran,P.O. Box 81465-478,Isfahan,Iran,Additional Sanctions Information - Subject to Secondary Sanctions [NPWMD] [IFSR].
7TH OF TIR INDUSTRIES OF ISFAHAN/ESFAHAN (a.k.a. 7TH OF TIR- a.k.a. 7TH OF TIR COMPLEX,a.k.a. 7TH OF TIR INDUSTRIAL COMPLEX,a.k.a. 7TH OF TIR INDUSTRIES,a.k.a. MOJTAMAE SANATE HAFTOME TIR,a.k.a. SANAYE HAFTOME TIR,a.k.a. SEVENTH OF TIR),Mobarakeh Road Km 45,Isfahan,Iran,P.O. Box 81465-478,Isfahan,Iran,Additional Sanctions Information - Subject to Secondary Sanctions [NPWMD] [IFSR].
8TH IMAM INDUSTRIES GROUP (a.k.a. CRUISE MISSILE INDUSTRY GROUP- a.k.a. CRUISE SYSTEMS INDUSTRY GROUP,a.k.a. NAVAL DEFENCE MISSILE INDUSTRY GROUP,a.k.a. SAMEN AL-A'EMMEH INDUSTRIES GROUP),Tehran,Iran,Additional Sanctions Information - Subject to Secondary Sanctions [NPWMD] [IFSR].
"14 STAR SHIPPING MANAGEMENT (a.k.a. FOURTEEN STAR SHIPPING MANAGEMENT- a.k.a. ""FOURTEEN STARS"")",United Arab Emirates,Additional Sanctions Information - Subject to Secondary Sanctions [SDGT] (Linked To: MEHDI GROUP).
您仍然难以挑选地址。