我需要能够将47x28 tsv文件排序到47个不同的列表中。到目前为止,我有:
f = open('EnergyConsumers.txt')
ln = f.readline()
ln.split('\t')
for i in ln:
bel.append(i)
但是输出是
['1', '9', '9', '0', '\t', '1', '9', '9', '1', '\t', '1', '9', '9', '2',
'\t', '1', '9', '9', '3', '\t', '1', '9', '9', '4', '\t', '1', '9', '9',
'5', '\t',]
我需要它来阅读
[1990,1991,1992,1993]
答案 0 :(得分:0)
第一:
ln.split('\t')
什么都不做。除非分配给某些内容,否则结果将丢失。
然后
for i in ln:
bel.append(i)
重复该行的字符。
您想要的:
bel.extend(ln.split())
(因此它会根据所有空格进行分割,包括被删除的换行符)
具有整数转换:
bel.extend(map(int,ln.split()))
最后,csv
模块更易于使用
import csv
with open('EnergyConsumers.txt') as f:
cr = csv.reader(f,delimiter="\t")
bel.extend(map(int,next(cr)))
或
bel = [int(x) for x in next(cr)]
从头开始创建bel
。
这将读取一行,转换为整数,然后将整数添加到bel