我是一名python初學者。最近我一直在試圖從當地中文網站上獲取一些數據。 我成功地將信息存儲爲一個矩陣(列表列表),c,但是當我將它寫入一個csv文件時,我得到了一些雜亂的東西。下面是代碼:在Python中將中文寫入csv文件的問題
from bs4 import BeautifulSoup
import requests
import pandas as pd
import csv
url = "http://wszw.hzs.mofcom.gov.cn/fecp/fem/corp/fem_cert_stat_view_list.jsp"
r=requests.get(url)
data= r.text
soup = BeautifulSoup(data)
table = soup.find_all('table')[3]
rows = table.find_all('tr')
dogData= 0
c=[]
for tr in rows:
cols = tr.find_all('td')
dogName =cols[0].get_text()
rank2013 = cols[1].get_text()
rank2012 =cols[2].get_text()
rank2008 =cols[3].get_text()
rank2003 =cols[4].get_text()
rank2004 =cols[5].get_text()
rank2005=cols[6].get_text()
temp=[dogName,rank2013,rank2012,rank2008,rank2003,rank2004,rank2005]
[x.encode('gb18030') for x in temp]
c.append(temp)
with open("output.csv", "wt") as f:
writer = csv.writer(f)
writer.writerows(c)
我使用Python 3.4 誰能告訴我出了什麼差錯,我怎麼能提高代碼?非常感謝! Marco
究竟是什麼[x.encode(「GB18030 ')for x in temp]在做什麼?這是列表理解,但它沒有分配給變量。基本上這行代碼什麼都不做,因爲你沒有把它傳遞給一個變量來存儲。 – reticentroot 2015-04-04 03:54:06