删除前导和尾随空格但不在单词之间

Bad*_*der 0 python

我正在将数据库表转换为带有'|'的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    |
Run Code Online (Sandbox Code Playgroud)

我想删除尾随空格并将其格式化为: -

|London|Jul  9 2014  1:21PM|john|
|New York|Jul  9 2014  1:21PM|peter|
|New Zeland|Jul  9 2014  1:21PM|Mr. Jones|
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码

f = open(csv_file,'w')
for lines in Table:
    lines = lines.replace(' ','')
    f.write(lines)

f.close
Run Code Online (Sandbox Code Playgroud)

但在文件中我在csv文件中得到类似的东西: -

|London|Jul920141:21PM|john|
|NewYork|Jul920141:21PM|peter|
|NewZeland|Jul920141:21PM|Mr.Jones|
Run Code Online (Sandbox Code Playgroud)

如何删除不需要的空格,同时保留单词之间的onces?

Mar*_*ers 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')
Run Code Online (Sandbox Code Playgroud)

我在这里打开输出文件作为上下文管理器; 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|
Run Code Online (Sandbox Code Playgroud)