2011-10-29 171 views
0

我救了我的數據轉換成字典,並將其保存到字典後,我打印的數據,看看是什麼樣子,我看到的Unicode:的Python:麻煩與編碼

(u'520775', [[u'Kategori:2. divisjon fotball for herrer 2008']]) 
(u'754686', [[u'Kategori:Debutalbum', u'Kategori:Musikkalbum fra 1990', u'Kategori:Tre Sm\xe5 Kinesere-album']]) 
(u'381191', [[u'Kategori:Serierundene i Adeccoligaen 2007']]) 
(u'972597', [[u'Kategori:Tippeligaen 2011']]) 
(u'263001', [[u'Kategori:Musikkalbum fra 2003']]) 
(u'23037', [[u'Kategori:Luftforsvaret']]) 
(u'640060', [[u'Kategori:Deltagermedaljen', u'Kategori:F\xf8dsler i 1923', u'Kategori:Norske folkemusikere', u'Kategori:Norske trekkspillere', u'Kategori:Paul Harris Fellow', u'Kategori:Personer fra Vefsn kommune']]) 

我有以下代碼,我使用格式選項,但它並沒有真正的工作。還有一個令我困惑的是,當我在將它保存到字典之前將其打印出來時,我發現它沒有整數。

這裏是代碼段,

for (pageId, pageData) in data['query']['pages'].iteritems(): 
      categoryTitles = []; 
      idTitleDictionary[pageId] = []; 
      print pageId; 
      try: 
       for category in pageData['categories']: 
        categoryTitles.append(category['title']); 
       idTitleDictionary[format(pageId)].append(categoryTitles); 

我想它的身影如何編碼它把它保存到一個字典之前。

回答

1

當你print一個dict,或list,或tuplerepr被稱爲在容器中的項目,而不是像str當他們直接與你print,讓你看到Unicode轉義碼。

如果你要

mydict = dict(((u'520775', [[u'Kategori:2. divisjon fotball for herrer 2008']]), 
(u'754686', [[u'Kategori:Debutalbum', u'Kategori:Musikkalbum fra 1990', 
       u'Kategori:Tre Sm\xe5 Kinesere-album']]), 
(u'381191', [[u'Kategori:Serierundene i Adeccoligaen 2007']]), 
(u'972597', [[u'Kategori:Tippeligaen 2011']]), 
(u'263001', [[u'Kategori:Musikkalbum fra 2003']]), 
(u'23037', [[u'Kategori:Luftforsvaret']]), 
(u'640060', [[u'Kategori:Deltagermedaljen', u'Kategori:F\xf8dsler i 1923', 
       u'Kategori:Norske folkemusikere', 
       u'Kategori:Norske trekkspillere', u'Kategori:Paul Harris Fellow', 
       u'Kategori:Personer fra Vefsn kommune']]))) 

for key, value in mydict.iteritems(): 
    print key, 
    for elem in value[0]: 
     print elem + ',', 
    print 

你會看到你的終端正確編碼字符串。您無需對這些字符串進行任何操作來解釋轉義碼 - 所有內容都可以正確存儲,只是它如何顯示。

+0

所以這意味着我可以繼續我的業務,​​因爲我打算使用字典中的數據來進行一些SQL查詢。這些數據是從api收集的。這就是爲什麼我擔心。 –

+1

@Null-Hypothesis是的,這是正確的。 – agf

+0

謝謝隊友我在終端上嘗試了一個簡單的例子,並感謝優秀的快速回答,這裏是我的例子: >>> mydict = {} >>> pageId = 12345 >>> mydict [pageId] = [] >>> mydict {12345:[]} >>> mydict [pageId] .append(['Category1','Category2'] ...) –