我有一个看起来像这样的txt文件。数字部分和句子部分之间用一个制表符分隔。
1234 I'll give 5.
1334 Surprisingly well made.
我试图仅提取第二列(句子部分)并将其放入变量中。我可以通过使用.split()
和.join()
来做到这一点
f = open('test.txt', 'r', encoding='utf8')
for line in f.readlines():
temp = line.split()
del temp[0]
line = ' '.join(temp)
print(line)
只是认为可能有更好的方法可以做到 拆分并加入,看起来似乎毫无意义。.就像碰到“ \ tab”一样,是否有剩余部分进行分组?
答案 0 :(得分:2)
或更简单:
with open('test.txt', 'r', encoding='utf8') as f:
print('\n'.join(line.split()[1] for line in f))
答案 1 :(得分:1)
您可以切片并使用上下文管理器,以便在极端情况下不会孤立您的文件处理程序。
with open('test.txt', 'r', encoding='utf8') as f
for line in f:
print((' '.join(line.split()[1:]))
答案 2 :(得分:1)
假设每一行总是有第二部分:
with open('test.txt', 'r', encoding='utf8') as f:
for line in f:
print(line.split('\t', 1)[1])
如果没有(然后跳过它):
with open('test.txt', 'r', encoding='utf8') as f:
for line in f:
try:
print(line.split('\t', 1)[1])
except IndexError:
pass