我有一个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",是否有其他部分可以分组?
或者更简单一点:
with open('test.txt', 'r', encoding='utf8') as f:
print('n'.join(line.split()[1] for line in f))
您可以切片并使用上下文管理器,这样您的文件处理程序在边缘情况下就不会孤立。
with open('test.txt', 'r', encoding='utf8') as f
for line in f:
print((' '.join(line.split()[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