0
我目前的实现是:Python:如何过滤网页中csv数据的列?
import csv
import urllib.request
from bs4 import BeautifulSoup
f=urllib.request.urlopen('<my_url_goes_here>')
soup = BeautifulSoup(f.read())
my_csv = csv.reader(soup.pre.text,delimiter=",")
for row in my_csv:
print(row)
我要在以下格式打印出我的数据:
//datestamp,SvcName,AvgSvcTime,MinSvcTime,MaxSvcTime,SvcVol
2013-03-19 00:00:00,cfmeqdequeue,1,0,10,198
2013-03-19 00:01:00,cfmeqdequeue,1,0,10,198
2013-03-19 00:02:00,cfmeqdequeue,1,0,10,198
然而,实际的输出是这样的:
['c']
['f']
['m']
['e']
['q']
['d']
['e']
['q']
['u']
['e']
['u']
['e']
注:soup.pre.text
打印以下并具有适当的换行符:
'\n//datestamp,SvcName,AvgSvcTime,MinSvcTime,MaxSvcTime,SvcVol\n2013-03-19 00:00:00,cfmeqdequeue,1,0,10,198\n2013-03-19 00:01:00,cfmeqdequeue,1,0,10,198\n
所以,当我使用csv.reader()或for循环时,一定是错误的。
csv.reader函数接受一个代表**分隔符的参数(在你的情况下它的逗号),使用分隔符解析csv,并且你的问题应该被解决。通过文档获取帮助http://docs.python。 org/2/library/csv.html – 2013-04-22 08:21:56
添加了分隔符参数。修正问题完全显示当前问题。 – imagineerThat 2013-04-23 18:01:27