【发布时间】:2015-04-04 03:36:55
【问题描述】:
我是这里的python初学者。最近我一直在尝试从本地中文网站上抓取一些数据。 我成功地将信息存储为矩阵(列表列表),c,但是当我试图将其写入 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 谁能告诉我出了什么问题以及如何改进代码?非常感谢! 马可
【问题讨论】:
-
[x.encode('gb18030') for x in temp] 到底在做什么?它是列表理解,但没有分配给变量。基本上那行代码什么都不做,因为你没有将它传递给要存储的变量。
标签: python csv python-3.x output