1

我有以下字符串

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('|')

谢谢。

视窗 7,Python 2.6

4

3 回答 3

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('|')])
于 2012-11-01T20:38:48.820 回答
0

如果您有兴趣使用第三方模块。Prettytable非常有用,并且有一组很好的功能来处理和打印表格数据。

于 2012-11-01T20:48:39.197 回答
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
于 2012-11-01T20:52:23.993 回答