使用Python解析制表符或空格分隔的文件

1 投票
3 回答
7815 浏览
提问于 2025-04-18 17:59

我有一个文件,里面的每个单词都是用空格、制表符或者多个空格分开的:

比如:

address1.txt:

Bob lives in Boston
Sam lives    in Houston
Jay       lives in Ruston
Bill        lives in           Atlanta

我想把这个文件保存为 address2.txt,里面的每个单词用制表符分开。

我该怎么用 Python 来实现呢?

有没有人能帮帮我?

谢谢,

Rio

3 个回答

0

还有一种方法:

#!/usr/bin/python

with open('address1.txt', 'r') as ro, \
    open('address2.txt', 'a') as rw:
      for line in ro.readlines():
          ls = line.strip().split()
          rw.write('\t'.join(ls) + '\n')
1

对文件中的每一行使用 '\t'.join(line.split())。这样做的原因是,split() 如果不带任何参数,就会把这一行的内容按照任意数量的空格分开。

4

使用 split 方法可以把字符串按照空格分开,然后用 join 方法把这些单词用制表符(Tab)重新组合起来。

with open('address1.txt') as fin, open('address2.txt','w') as fout:
  for line in fin:
    fout.write( "\t".join(line.split()) + "\n" )

撰写回答