2017-02-13 114 views
0

我有数据如CSV:如何打印字符串分割的第一部分在python

 Minneapolis-St. Paul-Bloomington MN-WI--33460 
Charlotte-Gastonia-Rock Hill  NC-SC--16740 
Las Vegas-Paradise NV--29820 
New York-White Plains-Wayne NY-NJ (MSAD)--35620

我们怎样才能之前只打印数据 - 在列?

i.e only : 
Minneapolis-St. Paul-Bloomington  MN-WI 
Charlotte-Gastonia-Rock Hill  NC-SC 
Las Vegas-Paradise NV & so on....

代码:

#!/usr/bin/python 
    import csv 
    import re 

    sample="""columnA,ColumnB,columnC 
    1,Cleveland-Elyria-Mentor OH--17460 
    2,Dallas-Plano-Irving TX (MSAD)--19100 
    3,ASJDFJKDJ-kD-JE  WA--21092""" 


    open('sample.csv','w').write(sample) 
    with open('sample.csv') as sample, open('final_output.csv','w') as output: 
    reader = csv.reader(sample) 
    writer = csv.writer(output) 
    # discard input header 
    next(reader) 
    # write output header 
    writer.writerow(['col1','col2','col3']) 
    #process rows 
    for row in reader: 
     if row: 
       for fipsplit in row[1].split('\n'): 
       fipsval = re.findall(r'--(\d+)$', fipsplit) 
       writer.writerow([fipsplit]) 
    print open('final_output.csv').read() 
+0

注后打印第一个元素:组功能不python2.7 CSV作家 – Viv

+0

为什么工作不只是'row [: - 7]',如果行总是有7个字符在你想要删除的末尾。 –

回答

0
>>> line = " Minneapolis-St. Paul-Bloomington MN-WI--33460" 
>>> line.split("--")[0] 
' Minneapolis-St. Paul-Bloomington MN-WI' 

使用--作为字段分隔符和分割线