我有以下字符串
string = "OGC Number | LT No | Job /n 9625878 | EPP3234 | 1206545/n" and continues on
我正在尝试将其写入.CSV文件,它将如下所示:
OGC Number | LT No | Job
------------------------------
9625878 | EPP3234 | 1206545
9708562 | PGP43221 | 1105482
9887954 | BCP5466 | 1025454
我无法获得格式化。
我想我需要使用:
string.split('/n')
string.split('|')
感谢。
Windows 7,Python 2.6
答案 0 :(得分:1)
未测试:
text="""
OGC Number | LT No | Job
------------------------------
9625878 | EPP3234 | 1206545
9708562 | PGP43221 | 1105482
9887954 | BCP5466 | 1025454"""
import csv
lines = text.splitlines()
with open('outputfile.csv', 'wb') as fout:
csvout = csv.writer(fout)
csvout.writerow(lines[0]) # header
for row in lines[2:]: # content
csvout.writerow([col.strip() for col in row.split('|')])
答案 1 :(得分:0)
如果您对使用第三方模块感兴趣。 Prettytable非常有用,并且具有一组很好的功能来处理和打印表格数据。
答案 2 :(得分:0)
下面的代码将使用两个正则表达式来进行修改。
import re
str="""OGC Number | LT No | Job
------------------------------
9625878 | EPP3234 | 1206545
9708562 | PGP43221 | 1105482
9887954 | BCP5466 | 1025454
"""
# just setup above
# remove all lines with at least 4 dashes
str=re.sub( r'----+\n', '', str )
# replace all pipe symbols with their
# surrounding spaces by single semicolons
str=re.sub( r' +\| +', ';', str )
print str