2016-08-17 39 views
-3

我已經從網站「itjuzi.com」中抓取數據,並將嵌套列表存儲在csv文件中,然後用熊貓讀取它。但現在如何閱讀unicode字符串或嵌套列表像列表?和編碼?如何使用像熊貓一樣的列表讀取csv文件中的嵌套列表

enter image description here

的代碼爲 「pd.read_csv( '/根/代碼/ company_info.csv',編碼= 'UTF-8')」

源數據的樣本

「 [u'u5b5f'u51e1'u5b87',u'ub21b'u4cb'u4eba',u'u963f'u72fc'u5de5'u4f5c'u5ba4'ub21b'u'cb'ueeba'u '17cCEO','http://www.itjuzi.com/person/29395']]

所有數據源

http://7rf31y.com1.z0.glb.clouddn.com/company_info.csv

+0

你需要將數據存儲到'csv'?或者可以直接從嵌套列表創建'DataFrame'? – jezrael

+0

你可以複製粘貼圖片中的文字而不是在你的問題中包含圖片嗎?另外,請包括您嘗試的方法。這將幫助用戶在這裏幫助你。 – Kartik

+0

@jezrael json文件也可以。 –

回答

-1

Unicode數據是存在的,它只是不渲染:

$ print(u'[\u9e64\u5e74\u5802\u4e2d\u533b\u9662]') 
[鶴年堂中醫院] 

關於你的,你需要調整你的蜘蛛的代碼清單列表。默認情況下,scrapy ItemLoaders甚至Selector的eextract()方法返回一個值列表,即使其中只有一個值。

要解決,只是確保這些值不是列表:

from scrapy.loader.processors import TakeFirst 
from scrapy.loader import ItemLoader 

def parse(self, response): 
    # you can use .extract_first() function 
    item = dict() 
    item['name'] = response.xpath('//div').extract_first() 
    yield item 
    # or you can use itemloader 
    class MyItemLoader(scrapy.loaders.ItemLoader): 
     name_out = TakeFirst() 
    loader = MyItemLoader(selector=response) 
    loader.add_xpath('name', '//div') 
    yield loader.load_item()