所以在我正在做的一个项目中,我正在尝试读取一堆行,并将每行数字数据放入一个数字列表中。我遇到的问题是,而不是期望的结果:
[1749, 58.0, 62.6, 70.0, 55.7, 85.0, 83.5, 94.8, 66.3, 75.9, 75.5, 158.6, 85.2]
当我尝试将读取行放入列表时,我得到了这个:
['1749', '', '', '', '58.0', '', '62.6', '', '70.0', '', '55.7', '', '85.0', '', '83.5', '', '94.8', '', '66.3', '', '75.9', '', '75.5', '158.6', '', '85.2']
所有我想知道的是如何使数字成为常规数字,而没有''围绕它们以及如何让数字之间的条目消失。我用来获得当前结果的代码是:
sun_file = open('sunspot_data.txt', 'r')
line = sun_file.readlines()
x = line[3].rstrip('\n').split(' ')
list2 = list(x)
print list2
关于如何进行的任何想法?
答案 0 :(得分:0)
试试这个
with open('sunspot_data.txt') as sun_file:
for _ in range(3): # skip first three lines
sun_file.readline()
for line in sun_file:
numbers = line.rstrip().split()
new_list = map(float, numbers)
print new_list
with
块打开文件。他们自动
在您完成使用后,请为您关闭该文件。rstrip
by
默认拆分换行符(和其他空白字符)和split
自动按空格分割。split()
已经返回了一个列表,因此无需浪费时间使用list(x)