为了账号安全,请及时绑定邮箱和手机立即绑定

使用python的奇怪的csv输出

使用python的奇怪的csv输出

斯蒂芬大帝 2021-03-31 05:57:35
我最近尝试刮过一个http://quotes.toscrape.com/引号(仅在第一页上)并将其保存到一个csv文件中。我得到了一个很奇怪的结果。仅逗号用作分隔符。请参见下面的屏幕截图和代码:from bs4 import BeautifulSoupfrom urllib.request import urlopenimport csvcsvfile = open('quotes.csv', 'w')writer = csv.writer(csvfile)writer.writerow(('text'))def parse():    html = urlopen('http://quotes.toscrape.com/page/1/')    bs = BeautifulSoup(html, 'lxml')    quotes = bs.findAll('div', class_='quote')    for quote in quotes:        try:            text = quote.find('span', class_='text').getText(            ).replace(',', '|').replace('"', '')            print(text)            writer.writerow((text))        except UnicodeEncodeError:            breakparse()csvfile.close()
查看完整描述

1 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

您试图将写入行与元组一起使用,但是(奇怪的怪癖)实际上并没有使用元组。


看我的例子:


some_num = (1)

some_tuple = (1,)

更改此行:


        writer.writerow((text))


        writer.writerow((text,))

注意逗号:)


但是为什么会这样呢?


而不是像通过单个字符的元组那样对字符串进行迭代来破坏它,例如


>>> for character in "this string":

...     print(character)

t

h

i

s


s

t

r

i

n

g


查看完整回答
反对 回复 2021-04-09
  • 1 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号