如何将此文本文件保存到python列表中
问题描述:
我有一个文本文件,其中包含1列数字(如:1e-5,1.15e3等)。 如何将列保存为列表只是浮动?如何将此文本文件保存到python列表中
输入文本文件看起来像这样:
1.00E-05
1.06E-05
1.13E-05
1.19E-05
我尝试这样做:
file=open('C:\Users\Enrique Jr\Desktop\h_energy.txt', "r")
h_energy=[]
for line in file:
h_energy.append((line.split()))
file.close()
,并得到了这样的输出:
[['1.00E-05'], ['1.06E-05'], ['1.13E-05'], ['1.19E-05']
答
您可以在Python中使用CSV阅读库:https://docs.python.org/2/library/csv.html
这将是这样的:
>>> import csv
>>> with open('output.txt', 'r') as csvfile:
... data = csv.reader(csvfile, delimiter='\t')
... print data
[["1", "2"], ["3.4", "5"], ...]
您需要将数据从文本转换为浮动或诠释自己。
答
file=open('output.txt', "r")
for line in file:
list.append(float(line.split("\t")[0]))
list.append(float(line.split("\t")[1]))
file.close()
如果需要整型和浮点存储不同类型的并不仅仅是有一个整数 浮点表示,那么你就需要尝试-catch来看看,如果你能 解析为一个int,如果然后不作为浮点数:
try:
list.append(int(line.split("\t")[0]))
except ValueError:
try:
inNumberfloat = float(inNumber)
list.append(float(line.split("\t")[0]))
except ValueError:
#neither an int nor float
根据您的示例输出,您的文本文件只有一列数字,它们都是整数。没有选项卡分隔符。但没关系,你已经得到了很多有用的答案:) – cfi 2014-09-28 06:17:07