如何通过使用python从另一个csv读取数据来编写新的csv?

时间:2013-03-01 11:26:37

标签: python csv

我有这样的字典:

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中写它。 。 。

1 个答案:

答案 0 :(得分: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应该是一个足够简单的dict来写出来。