Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python for循环变量并保存为csv_Python_Csv_Zip - Fatal编程技术网

python 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

这是一个由两部分组成的问题:

我已经测试了我的代码,它正在工作,但最后一部分我无法理解。 我已经能够打印出来,它的工作,但当我试图把它保存到一个文件,我得到了错误。在我运行for循环并打印后,输出如下所示(在该站点上可能无法正确显示,但本质上是垂直的):

这就是我希望它在csv文件中的样子(垂直水平旋转):

这是我要打印的代码:

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