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 に答える