python for循环变量并保存为csv
这是一个由两部分组成的问题: 我已经测试了我的代码,它正在工作,但最后一部分我无法理解。 我已经能够打印出来,它的工作,但当我试图把它保存到一个文件,我得到了错误。在我运行for循环并打印后,输出如下所示(在该站点上可能无法正确显示,但本质上是垂直的): 这就是我希望它在csv文件中的样子(垂直水平旋转): 这是我要打印的代码:python for循环变量并保存为csv,python,csv,zip,Python,Csv,Zip,这是一个由两部分组成的问题: 我已经测试了我的代码,它正在工作,但最后一部分我无法理解。 我已经能够打印出来,它的工作,但当我试图把它保存到一个文件,我得到了错误。在我运行for循环并打印后,输出如下所示(在该站点上可能无法正确显示,但本质上是垂直的): 这就是我希望它在csv文件中的样子(垂直水平旋转): 这是我要打印的代码: import urllib import urllib.request from bs4 import BeautifulSoup import os import c
import urllib
import urllib.request
from bs4 import BeautifulSoup
import os
import csv
f = open('gropn1.csv')
csv_f = csv.reader(f)
for row in csv_f:
theurl="http://www.grote.com/?s="+row[1] + "&q1=1"
thepage = urllib.request.urlopen(theurl)
soup = BeautifulSoup(thepage,"html.parser")
for partno in soup.find_all('h2',{"class":"single-product-number"}):
print(partno.text)
for link in soup.find('ul',{"class":"breadcrumbs"}).findAll('a'):
print(link.text)
f.close()
为了将其保存到文件中,我尝试了以下方法-从第一个for partno循环向下更改:
partno = soup.find_all('h2',{"class":"single-product-number"})
link = soup.find('ul',{"class":"breadcrumbs"}).findAll('a')
file = open(os.path.expanduser("grotes.csv"),"wb")
file.write(bytes(partno, encoding="ascii",errors='ignore'))
file.write(bytes(link, encoding="ascii",errors='ignore'))
f.close
我尝试过其他方法,但我认为上述方法已接近成功,其中不包括尝试使用zip函数-以下是我遇到的错误:
Traceback (most recent call last):
File "C:/Users/PPluck/Downloads/grotestart3.py", line 24, in <module>
file.write(bytes(partno, encoding="ascii",errors='ignore'))
TypeError: encoding or errors without a string argument
回溯(最近一次呼叫最后一次):
文件“C:/Users/PPluck/Downloads/grotestart3.py”,第24行,在
write(字节(partno,encoding=“ascii”,errors='ignore'))
TypeError:没有字符串参数的编码或错误
很抱歉问了这么长的问题。错误是
partno
不是字符串。可能应该是partno.text
。错误是partno
不是字符串。也许应该是partno.text
。
partno = soup.find_all('h2',{"class":"single-product-number"})
link = soup.find('ul',{"class":"breadcrumbs"}).findAll('a')
file = open(os.path.expanduser("grotes.csv"),"wb")
file.write(bytes(partno, encoding="ascii",errors='ignore'))
file.write(bytes(link, encoding="ascii",errors='ignore'))
f.close
Traceback (most recent call last):
File "C:/Users/PPluck/Downloads/grotestart3.py", line 24, in <module>
file.write(bytes(partno, encoding="ascii",errors='ignore'))
TypeError: encoding or errors without a string argument