从文本文件中删除行号并提取值以列出
Remove line numbers from text file and extract values to list
我有一个包含一些数据的 txt 文件,但它们有行号注释,我怎样才能轻松地从这里转到仅包含右侧数字的列表?
1 3.170
2 3.198
3 3.188
4 3.153
5 3.164
6 3.214
7 3.095
8 3.078
9 3.193
10 3.113
我分 3 步完成:
with open('numbers', 'r') as file:
for line in file:
for word in line.split():
print(word)
然后得到结果
with open('main.py') as f:
lines = f.read().splitlines()
print(lines)
然后我对数字进行了排序,并复制了 3 和 4 之间的值:
numbers = ('1', '3.170', '2', '3.198', '3', '3.188', '4', '3.153', '5', '3.164', '6', '3.214', '7', '3.095', '8', '3.078', '9', '3.193', '10', '3.113', '11', '3.153', '12', '3.119')
float_lst = [float(item) for item in numbers]
sor = sorted(float_lst)
print(sor)
我怎样才能让它发挥作用?
随手丢弃行号。
with open('numbers', 'r') as file:
numbers = [float(line.rstrip('\n').split()[1]) for line in file]
如果列表理解看起来很吓人,这里有一个普通版本:
numbers = []
with open('numbers', 'r') as file:
for line in file:
# Trim trailing newline
line = line.rstrip('\n')
# Extract last item
item = line.split()[1]
# Convert to float, add to list
numbers.append(float(item))
作为一般原则,不要随身携带不需要的数据。
如果某些行可能为空,您可以在删除换行符后在普通版本中添加一个 if not line: continue
条件。
numbers = []
with open('numbers', 'r') as file:
for line in file:
# Trim trailing newline
line = line.rstrip('\n')
# Skip empty lines
if not line:
continue
# Extract last item
item = line.split()[1]
# Convert to float, add to list
numbers.append(float(item))
你让这条路变得比它需要的更难。
for line in open('numbers'):
print( float(line.rstrip().split()[1]) )
我有一个包含一些数据的 txt 文件,但它们有行号注释,我怎样才能轻松地从这里转到仅包含右侧数字的列表?
1 3.170
2 3.198
3 3.188
4 3.153
5 3.164
6 3.214
7 3.095
8 3.078
9 3.193
10 3.113
我分 3 步完成:
with open('numbers', 'r') as file:
for line in file:
for word in line.split():
print(word)
然后得到结果
with open('main.py') as f:
lines = f.read().splitlines()
print(lines)
然后我对数字进行了排序,并复制了 3 和 4 之间的值:
numbers = ('1', '3.170', '2', '3.198', '3', '3.188', '4', '3.153', '5', '3.164', '6', '3.214', '7', '3.095', '8', '3.078', '9', '3.193', '10', '3.113', '11', '3.153', '12', '3.119')
float_lst = [float(item) for item in numbers]
sor = sorted(float_lst)
print(sor)
我怎样才能让它发挥作用?
随手丢弃行号。
with open('numbers', 'r') as file:
numbers = [float(line.rstrip('\n').split()[1]) for line in file]
如果列表理解看起来很吓人,这里有一个普通版本:
numbers = []
with open('numbers', 'r') as file:
for line in file:
# Trim trailing newline
line = line.rstrip('\n')
# Extract last item
item = line.split()[1]
# Convert to float, add to list
numbers.append(float(item))
作为一般原则,不要随身携带不需要的数据。
如果某些行可能为空,您可以在删除换行符后在普通版本中添加一个 if not line: continue
条件。
numbers = []
with open('numbers', 'r') as file:
for line in file:
# Trim trailing newline
line = line.rstrip('\n')
# Skip empty lines
if not line:
continue
# Extract last item
item = line.split()[1]
# Convert to float, add to list
numbers.append(float(item))
你让这条路变得比它需要的更难。
for line in open('numbers'):
print( float(line.rstrip().split()[1]) )