0

次のような辞書があります。

data_heading = {'Date': [(3,2)],
                'Rate': [(3,3)],
                'Product': [(3,7)]}

KEY は csv ファイルの列の見出しを定義し、VALUE は[(row number, col number)]
、特定の LINE から始まり、特定の COLUMN から csv ファイルの最後まで、データを読みたいと定義します。
ファイルの内容を読み取った後、読み取ったデータの新しいcsvを書きたいと思います。私はこの問題で非常に混乱しています。長い長いコードを試してみましたが、まだそのようなファイルを書き込むことができません。
どうぞよろしくお願いいたします。私を助けてください。
データを読み取り、次のようなリストに保存しました。

data = ['Date', '2013-03-01', '2013-03-01', '2013-03-01', 'Rate', '$ 50', '$ 60', '$ 70', 'Product', 'MOBILE', 'DVD', 'TV']

しかし、私はそれをcsvに書き込むことができません。. .

4

1 に答える 1

1

これはどうですか(完全なコードとデータを提供しなかったため、テストされていません):

import csv

data_heading = {'Date': [(3,2)],
            'Rate': [(3,3)],
            'Product': [(3,7)]}

rdr = csv.reader(open(csvpath, 'rb'))
columns = [{key:row[pos[0][1]] for key,pos in data_heading.items()} for row in rdr]
# finally trim to desired row startpoints:
data = {key:[col[key] for col in columns[pos[0][0]:]] for key,pos in  data_heading.items()}
print data

data_heading少しぎこちない形式なので、少し危険です。それを自由に変更できる場合は、コードをより読みやすくすることができます。

その後、CSV書き込みを行うことができます-data書き出すのに十分な単純な辞書である必要があります。

于 2013-03-01T11:40:47.213 に答える