2015-03-12 7 views
-1

Я смотрел другие сообщения здесь, но я не могу найти какую-либо помощь в том, что я конкретно пытаюсь сделать.Txt-файл в список списков в Python

Итак, у меня есть данные в 'food.txt'. Он представляет собой ежегодное потребление на душу населения, и я должен открыть и прочитать текстовый файл в список списков под названием данных []

FOOD | 1980 1985 1990 1995 2000 2005 
-----+------------------------------------------------- 
BEEF | 72.1 68.1 63.9 63.5 64.5 62.4 
PORK | 52.1 49.2 46.4 48.4 47.8 46.5 
FOWL | 40.8 48.5 56.2 62.1 67.9 73.6 
FISH | 12.4 13.7 14.9 14.8 15.2 16.1 

Это то, что я до сих пор, чтобы превратить его в линии

data = [] 
filename = 'food.txt' 
with open('food.txt' , 'r') as inputfile: 
    for line in inputfile: 
     data.append(line.strip().split(',')) 

Это разделяет их в отдельных строках, но я не могу использовать это как входы для графиков, которые являются второй частью, которую я знаю, как это сделать. Я должен иметь возможность вызвать его, как я ставлю ниже, потому что это даст только числовые значения, которые мне нужны.

years = data[0][1:] 

porkconsumption = [2][1:] 

Любая помощь будет оценена, спасибо.

+0

Это написано на любом конкретном языке? –

+0

Можете ли вы показать, что, по крайней мере, некоторые из ваших текстовых файлов должны были соответствовать «данным»? –

+0

Извините, я забыл поместить язык. Я исправил его, его в python. Текстовым файлом является ссылка imgur, которую я опубликовал. Поэтому porkconsumption [2] [1:] дал бы мне эту целую строку, исключая строку «свинина» – Damon

ответ

0

Я подозреваю, что у вас есть, после обработки, представляет собой список со строками в нем, как так

['ABC 345 678','DEF 789 657'] 

Изменить код, чтобы сказать line.strip().split(), и вы увидите ваш data список будет заполнен со списками как так:

[['ABC', '345', '678'],['DEF','789','657']] 

Затем цикл через них, чтобы превратить их в цифры, которые вы можете построить:

pork = map(int,data[2][1:]) 
Смежные вопросы