答えを得るために再び何時間もグーグルで調べましたが、私の状況は独特であるか、または Py の私の理解は...ええと、独特のようです。
MySQLdb.cursors.DictCursor クエリから構築された辞書 (sqlListOfDict と呼びましょう) のリストがあります。Py print は次のようになります。
[{'volYtday': 18083292,
'volToday': 49395261,
'time': datetime.timedelta(0, 34800),
'priceChgPct': Decimal('1.2400'),
'volDiffPct': 173.15414140301445,
'priceNom': Decimal('6.5300'),
'date': datetime.date(2013, 4, 30),
'secCode': 'xoxoxo',
'volDiff': 31311969}]
次に、空の宣言された辞書の別のリスト (myListOfDict と呼びましょう) があり、Py print は次のようになります。
[{'priceChgPct': '',
'volYtday': '',
'priceNom': '',
'volDiffPct': '',
'volToday': '',
'time': '',
'date': '',
'secCode': '',
'volDiff': ''}]
myListOfDict に sqlListOfDict の特定の辞書をインデックス番号で追加する必要があります。コードは次のとおりです。
myListOfDict.append(sqlListOfDict[0])
myListOfDict はまだ宣言されたまま (空) であり、Py はトレースバックを返しません。
私はいくつかの実験をしました:
listDictA = [dict.fromkeys(['secCode', 'volDiff'])]
listDictB = [{'secCode': 'valB1', 'volDiff': 1000},
{'secCode': 'valB2', 'volDiff': 1000},
{'secCode': 'valB3', 'volDiff': 1000},
{'secCode': 'valB4', 'volDiff': 1000},
{'secCode': 'valB5', 'volDiff': 1000},
{'secCode': 'valA1', 'volDiff': 1000}]
同じコマンドを実行しました:
listDictA.append(listDictB[0])
出来た!最初のケースで何が間違っていましたか? 助けてくれてありがとう。