gpt4 book ai didi

python - 打印 csv 文件中的信息

转载 作者:行者123 更新时间:2023-11-30 21:58:46 26 4
gpt4 key购买 nike

我有一个程序可以打印网站上的信息,但我想将此信息放入 csv 或 excel 文件中。这就是我所做的:

import requests
from bs4 import BeautifulSoup
import re
import xlsxwriter


workbook = xlsxwriter.Workbook('nossarede.xlsx')
worksheet = workbook.add_worksheet()

request = requests.get("http://www.drogariasnossarede.com.br/nossas-lojas")
soup = BeautifulSoup(request.content, 'html.parser')
data = soup.find_all("div", class_='item')

for container in data:
Pharmacyname = container.find_all("h3")
Pharmacyadd = container.find_all("p")
for pharmacy in Pharmacyname:
print(pharmacy.text)
for add in Pharmacyadd:
print(add.text)
print('')

直到这里完美为止,它按照我想要的方式完美打印。然后我尝试了这个:

    import csv
with open('names.csv', 'wb') as ofile:
writer = csv.writer(ofile)
for container in data:
Pharmacyname = container.find_all("h3")
Pharmacyadd = container.find_all("p")
for pharmacy in Pharmacyname:
for add in Pharmacyadd:
writer.writerow((pharmacy.text[0], add.text[1]))

但它不起作用。它显示了这一点:

TypeError: a bytes-like object is required, not 'str'

我该怎么办?谢谢!

最佳答案

您正在使用wb以字节模式打开文件。

只需更改此:

with open('names.csv', 'wb') as ofile:

对于

with open('names.csv', 'w') as ofile:

还有一件事。您的 writerow 是错误的。您仅获得字符串的第一个字符。

更改此:

 writer.writerow((pharmacy.text[0], add.text[0]))

对于:

writer.writerow((pharmacy.text, add.text))

关于python - 打印 csv 文件中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54807902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com