擅长:python、mysql、java
<p>我假设您的文件也包含换行符,所以它实际上是这样的:</p>
<pre><code>11\t22\t33\t44\n
53\t25\t36\t25\n
74\t89\t24\t35\tand\n
</code></pre>
<p>如果确定列的最大长度为5,则可以这样做:</p>
<pre><code>with open('my_file.txt') as my_file:
y = lambda x: len(x.strip().split('\t'))
a = [line if y(line) == 5 else '%s%s\n' % (line.strip(), '\t'*(5 - y(line)))
for line in my_file.readlines()]
# ['11\t22\t33\t44\t\n', '53\t25\t36\t25\t\n', '74\t89\t24\t35\tand\n']
</code></pre>
<p>这将添加结束制表符,直到您达到5列。您将得到一个需要写回文件的行的列表(我有'my\u file2.txt',但如果您愿意,您可以写回原始行)。你知道吗</p>
<pre><code>with open('my_file2.txt', 'w+') as out_file:
for line in a:
out_file.write(line)
</code></pre>