这里的问题真的很快,其他一些人帮助我解决了另一个问题,但我无法让他们的任何代码工作,因为我不了解这里非常基本的东西。
8000.5 16745 0.1257
8001.0 16745 0.1242
8001.5 16745 0.1565
8002.0 16745 0.1595
8002.5 16745 0.1093
8003.0 16745 0.1644
我有一个这样的数据文件,当我输入时
f1 = open(sys.argv[1], 'rt')
for line in f1:
fields = line.split()
print list(fields [0])
我得到输出
['1', '6', '8', '2', '5', '.', '5']
['1', '6', '8', '2', '6', '.', '0']
['1', '6', '8', '2', '6', '.', '5']
['1', '6', '8', '2', '7', '.', '0']
['1', '6', '8', '2', '7', '.', '5']
['1', '6', '8', '2', '8', '.', '0']
['1', '6', '8', '2', '8', '.', '5']
['1', '6', '8', '2', '9', '.', '0']
而我本来希望通过尝试打印列表(字段)之类的东西来获得类似的东西
[16825.5, 162826.0 ....]
我在这里缺少什么明显的东西?
谢谢!
请您参考如下方法:
删除列表; .split() 已经返回一个列表。
您正在将字段的第一个 元素转换为列表:
>>> fields = ['8000.5', '16745', '0.1257']
>>> fields[0]
'8000.5'
>>> list(fields[0])
['8', '0', '0', '0', '.', '5']
如果您想将第一列作为列表,您可以随时构建一个列表:
myfirstcolumn = []
for line in f1:
fields = line.split()
myfirstcolumn.append(fields[0])
这可以简化为列表理解:
myfirstcolumn = [line.split()[0] for line in f1]
