2016-02-01 64 views
-4

我需要一些幫助來訪問元組中的值或條目。訪問元組中的值

考慮以下數據:

('{"email": "[email protected]"}',) 
<type 'tuple'> 
{"email": "[email protected]"} 
<type 'str'> 

首先,它基本上是一個元組。

進一步處理後,它被轉換爲「海峽:.

你可以看看下面的代碼。

所以在這裏我需要得到的價值爲‘電子郵件’。

我嘗試下面的代碼

rows = cur.fetchall() 

for row in rows: 
    print row 
    print type(row) 

    for rowitems in row: 

      print rowitems 
      print type(rowitems) 

有人讓我爲相同的方式。

+1

什麼是你的代碼已經做的問題emails列表?你的輸入是什麼?你想要的輸出是什麼?請提供您想要的完整,明確的示例。 – timgeb

+0

@timgeb它看起來像他需要將字符串的元組值轉換爲字典。我在我的手機上,但我想他會想'字典(行[0])['email']' – Jason

+0

您是否知道該字符串是如何創建的?乍一看,它可能是JSON,但這裏並沒有太多的背景。 –

回答

3

您可以使用json.loads將字符串解析爲JSON。

>>> import json 
>>> a_tuple = ('{"email": "[email protected]"}',) 
>>> [ json.loads(value)['email'] for value in a_tuple ] 
[u'[email protected]'] 

這會給你從a_tuple

+0

這是另一種選擇:http://stackoverflow.com/questions/988228/converting-a-string-to-dictionary – Jason

+3

@Jason :注意包含在該字符串中的引號和這個字符串中的引號。雙引號使得這更可能是JSON。如果Python的'repr()'輸出已經記錄在數據庫中,那麼將會生成單引號,並且其他帖子將被絕對應用。 –

+0

@Martijn會在這種情況下嗎? 'literal_eval'會隱藏它,因爲它是一個有效的Python命令? – Jason