如何将字典项附加到Python中的预先存在的字典中?

时间:2016-03-19 07:45:26

标签: python-2.7 csv dictionary

我有一个包含推文及其情绪极性的.csv文件。使用DictReader,我看到文件中的每一行的格式为:

Sentiment: '0', SentimentText: 'xyz'

现在我想将文件的每一行添加到预先存在的字典中,以便最后字典的结构是:

{{Sentiment: '0', SentimentText: 'xyz'},
 {Sentiment: '1', SentimentText: 'abc'}...#so on until eof}

这有可能吗?

编辑:到目前为止,这是我所取得的成就。这基本上是一个词典列表:

dataset = []
with open('SentimentAnalysisDataset.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    count = 1
    for row in reader:
        data = [{'Text': row['SentimentText'], 'Polarity': row['Sentiment']}]
        tuple = {str(count): data}
        count = count + 1
        dataset.append(tuple)

1 个答案:

答案 0 :(得分:1)

此:

{{Sentiment: '0', SentimentText: 'xyz'},
 {Sentiment: '1', SentimentText: 'abc'}...#so on until eof}

不是有效的字典结构。如果您想使用列表,这将有效:

[{Sentiment: '0', SentimentText: 'xyz'},
 {Sentiment: '1', SentimentText: 'abc'}...#so on until eof]

否则,您可能正在寻找这样的结构:

{'0': 'xyz',
 '1': 'abc',
 ...}

为此,您应该像这样更新现有字典:

existing_dict = {'0': 'xyz',
                 '1': 'abc'}

existing_dict[row['Sentiment']] = row['SentimentText']

# OR
new_dict = {row['Sentiment']: row['SentimentText'],
            ... # For all sentiments in file
            }
existing_dict.update(new_dict)