2014-09-28 3 views
0

У меня есть текстовый файл, состоящий из 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'] 
+0

Согласно вашему примеру, ваш текстовый файл имеет только один столбец чисел, и все они целые. Нет разделителей вкладок. Но это не имеет значения, у вас уже есть много полезных ответов :) – cfi

ответ

0

попробовать это:

file=open('output.txt', "r") 
array = [] 
for line in file: 
    array.append(float(line.rstrip())) 
file.close() 
+0

Это хорошо работает, но мне нужны значения в «массиве» для плавания – eewongjr

+0

проверить редактирование ... –

+0

PERFECT !! Спасибо – eewongjr

3

Вы можете использовать библиотеку для чтения CSV в Python: 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"], ...] 

Вам нужно будет преобразовать данные из текста плавать или ИНТ себя.

0
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() 

Если вам требуется Интс и поплавки, которые будут храниться в виде различных типов, а не только иметь поплавка представление целых чисел, то вам нужно будет попробовать-поймать, чтобы увидеть, если вы можете синтаксического анализа как межд, и если не затем в качестве поплавка:

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 
Смежные вопросы