【问题标题】:How do I append a dictionary item to a pre-existing dictionary in Python?如何在 Python 中将字典项附加到预先存在的字典中?
【发布时间】:2016-03-19 07:45:25
【问题描述】:

我有一个 .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)

【问题讨论】:

  • 显示您尝试过的内容。
  • @Mominaatha,这不是字典的正确结构。您确定不打算将其作为列表吗?
  • @Bharel,基本上我想附加到字典中。
  • @fledgling 好吧

标签: python-2.7 csv dictionary


【解决方案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)

【讨论】:

    猜你喜欢
    • 2020-12-06
    • 2021-12-24
    • 2015-08-22
    • 2013-07-12
    • 2023-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多