Python从csv文件创建一个变量表

时间:2013-02-07 15:43:48

标签: python function row field import-from-csv

我想创建一个表变量,看起来像实际的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 个答案:

答案 0 :(得分:2)

我建议使用csv模块中的dictreader。你可以通过 一个分隔符参数,在这种情况下。 第一行将用作词典的键 看到: 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)

现在只需传递数据对象,或将其放入您在需要时调用的函数中。

答案 1 :(得分: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...