Вопрос по row, import-from-csv, function, python, field – Python создает таблицу в переменную из CSV-файла

0

Я хочу создать таблицу в переменную что-то похожее на фактический CSV-файл:

Length    Price     Code 
10.05      0.78     AB89H
20         5        HB20K

Это то, что я делаю с каждой функцией, с которой работаю

    tree_file.readline() # skip first row
    for row in tree_file:
       field=row.strip()
       field=field.split(",") #make Into fields
       price=int(field[1])

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

Я нене нужно печатать фактическую таблицу!

Ваш Ответ

2   ответа
2

Я бы порекомендовал использовать dictreader из модуля csv. Вы можете передать аргумент-разделитель, который был бы, в этом случае. Первая строка будет использоваться в качестве ключей для dict.

Увидеть:http://docs.python.org/2/library/csv.html

Пример:

import csv
data = []
with open('example.csv',  'r') as f:
    reader = csv.DictReader(f, delimiter=',')
    for line in reader:
        line['Price'] = float(line['Price'])
        data.append(line)

теперь просто передайте объект данных или поместите его в функцию, которую вы вызываете, когда вам это нужно.

0
# Create holder for all the data, just a simple list will do the job.
data = []

# Here you do all the things you do, open the file, bla-bla...
tree_file.readline() # skip first row
for row in tree_file:
    fields = row.strip().split(",") #make Into fields
    data.append({
        'length' : float(fields[0]),
        'price'  : float(fields[1]),
        'code'   : fields[2] 
    })

# ...close the open file object and then just use the data list...

Похожие вопросы