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 文件并剥离它们并在现场制作它们。

我不需要打印实际的表格!

4

2 回答 2

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)

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

于 2013-02-07T16:02:18.773 回答
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...
于 2013-02-07T15:49:38.153 回答