如何在每行中添加制表符

  • 本文关键字:添加 制表符 python
  • 更新时间 :
  • 英文 :


我有一个类似的文件

237501.jpg#0 Two 
237501.jpg#1 Teddy
237501.jpg#2 Large 
237501.jpg#3 A teddy 
237501.jpg#4 an image 
237501.jpg#0 Two 
237501.jpg#1 Teddy
237501.jpg#2 Large 
237501.jpg#3 A teddy 
237501.jpg#4 an image  

我需要在每行的每个数字后面添加制表符,使其像一样

237501.jpg#0     Two 
237501.jpg#1     Teddy
237501.jpg#2     Large 
237501.jpg#3     A teddy 
237501.jpg#4     an image 

我的代码是

import os
inputFile = open("output1.txt", "r") 
exportFile = open("output10.txt", "w")
for line in inputFile:
new_line = line.replace("#0", '#0    ')
exportFile.write(new_line) 

但没能抓住每一行的号码我得到的结果是

237501.jpg#0     Two 
237501.jpg#1 Teddy
237501.jpg#2 Large 
237501.jpg#3 A teddy 
237501.jpg#4 an image 

您可以使用enumerate

input.txt:

237501.jpg#0 Two 
237501.jpg#1 Teddy
237501.jpg#2 Large 
237501.jpg#3 A teddy 
237501.jpg#4 an image 
237501.jpg#0 Two 
237501.jpg#1 Teddy
237501.jpg#2 Large 
237501.jpg#3 A teddy 
237501.jpg#4 an image  

代码:

inputFile = open("input.txt", "r")
exportFile = open("output.txt", "w")
patterns = ["#"+str(idx) for idx in range(5)]
for line in inputFile:
for pattern in patterns:
if pattern in line:    
new_line = line.replace(pattern, pattern+' '*3)
exportFile.write(new_line)
break
inputFile.close()
exportFile.close()

output.txt结果:

237501.jpg#0    Two 
237501.jpg#1    Teddy
237501.jpg#2    Large 
237501.jpg#3    A teddy 
237501.jpg#4    an image 
237501.jpg#0    Two 
237501.jpg#1    Teddy
237501.jpg#2    Large 
237501.jpg#3    A teddy 
237501.jpg#4    an image  

您可以使用regex,遍历每一行,为每一行找到#1, #2,..的子字符串,并将其替换为substring + 't'

import re
op = ''
pattern = re.compile('#d+')
for line in file:
num = pattern.findall(line)[0]
op += line.replace(num, num+ 't')
print(op)

输出

237501.jpg#0     Two 
237501.jpg#1     Teddy
237501.jpg#2     Large 
237501.jpg#3     A teddy 
237501.jpg#4     an image 

您并没有真正指定第一列中可以包含哪些类型的数据,但似乎只有第一个空格才有意义。我会把每个空间划分开来,只打印出部分,跳过中间的部分。

with open('input.txt') as fd:
for line in fd:
parts = line.partition(' ')
print('t'.join(parts[0:3:2]), end='')

最新更新