2016-10-11 62 views
1

我想输出一些web刮信息到CSV。当我将它打印到屏幕上时,它就像我期望的那样出来,但是当我输出到csv时,它在每个字符之间都有逗号。我很愚蠢,但我错过了什么?逗号在BeautifulSoup CSV

这里是我的相关Python代码:

list_of_rows = [] 
for hotel in hotels: 
    for row in hotel.findAll('div', attrs={'class': 'listing_title'}): 
     list_of_rows.append(row.find('a').text.replace('\nspb;', '')) 

print(list_of_rows) 
outfile = open("./hotels.csv", "wb") 
writer = csv.writer(outfile) 
writer.writerows(list_of_rows) 
outfile.close() 

编辑:添加例子输出

打印时,list_of_rows出来是这样的:

[U “130女王门” ,u'Hotel 41' ,u'Egerton饭店 'u'The 里程碑饭店',u'The博蒙特”,u'COMO哈尔金,u'Taj 51 乙uckingham门套房公寓,u'The蒙塔古 花园,u'The戈林“ u'Haymarket酒店”,u'Amba酒店查林十字 ,u'Rosewood伦敦,u'Covent花园酒店“ ,u'The Connaught', u'The切斯特菲尔德梅费尔',u'The蒙卡尔姆伦敦大理石拱门', u'Corinthia酒店伦敦',u'The苏荷酒店',u'四季酒店 伦敦在公园里' ,u'The纳德勒苏荷 'u'Charlotte街酒店', u'The丽思伦敦,u'The纳德勒维多利亚,u'Bulgari酒店,伦敦, U “布朗酒店”,u'The拱门伦敦',u'The皮卡迪利伦敦西 结束',u'The Stafford伦敦',u'Ham院子酒店',u'Sofitel伦敦St 詹姆斯',u'Staybridge套房伦敦 - 沃克斯豪尔']

但是,当发送到csv有每个字母/空间之间的逗号。

+0

list_of_rows是最后一个常规列表还是一个嵌套列表? – roganjosh

+0

你可以添加一个'list_of_rows'包含的例子吗? – mfitzp

+0

我认为'list_of_rows'的详细例子会有所帮助。 – Acepcs

回答

0

你应该为嵌套列表,其中每个子列表代表一个单行提供数据。

data_mod = [[item] for item in list_of_rows] 

with open("./hotels.csv", "wb") as outfile: 
    writer = csv.writer(outfile) 
    for row in data_mod: 
     writer.writerow(row) 

# With writerows() being equivalent to the for loop + writerow()