我正在将数据库表转换为带有'|'的CSV文件作为分隔符。
我有一个数据库表的输出,如: -
表: -
|London | Jul 9 2014 1:21PM |john |
|New York | Jul 9 2014 1:21PM |peter |
|New Zeland | Jul 9 2014 1:21PM |Mr. Jones |
我想删除尾随空格并将其格式化为: -
|London|Jul 9 2014 1:21PM|john|
|New York|Jul 9 2014 1:21PM|peter|
|New Zeland|Jul 9 2014 1:21PM|Mr. Jones|
我正在使用以下代码
f = open(csv_file,'w')
for lines in Table:
lines = lines.replace(' ','')
f.write(lines)
f.close
但是在文件中我在csv文件中得到类似的内容: -
|London|Jul920141:21PM|john|
|NewYork|Jul920141:21PM|peter|
|NewZeland|Jul920141:21PM|Mr.Jones|
如何删除不需要的空格,同时保留单词之间的on?
答案 0 :(得分:6)
在条形图上拆分,然后使用str.strip()
删除结果:
with open(csv_file, 'w') as f:
for line in table:
line = '|'.join([c.strip() for c in line.split('|')])
f.write(line + '\n')
我在这里打开输出文件作为上下文管理器;在这种情况下,无需致电f.close()
(尽管您的代码实际上并未调用 f.close()
)。您还需要添加\n
个换行符(因为您只是删除了空格)。
演示:
>>> table = '''\
... |London | Jul 9 2014 1:21PM |john |
... |New York | Jul 9 2014 1:21PM |peter |
... |New Zeland | Jul 9 2014 1:21PM |Mr. Jones |
... '''.splitlines()
>>> for line in table:
... line = '|'.join([c.strip() for c in line.split('|')])
... print line
...
|London|Jul 9 2014 1:21PM|john|
|New York|Jul 9 2014 1:21PM|peter|
|New Zeland|Jul 9 2014 1:21PM|Mr. Jones|
答案 1 :(得分:0)
您可以使用regex
import re
f = open(csv_file,'w')
for lines in Table:
lines = re.sub(r' *\| *','|',lines) # Remove spaces before and after the pipe character
f.write(lines)
f.close()