我想使用csv文件来保存蜘蛛(请求)的一些代理,并删除那些不起作用。 但是,当我读取csv文件中的数据时,由于需要请求,因此需要使用字典。 由于方法不同,发生了几种错误。
方法1:
dict(list)
ValueError:字典更新序列元素#0的长度为4;需要2个
方法2:
for item in list:
mydict = dict(item) -< this line has the same error with approach 1
newest.append(mydict)
方法3:
for item in list:
key = item[0:6]
value = item[8:]
mydict = dict(zip(key,value))
newest.append (mydict)
这个问题是键等于项,值是空的
方法4: 与方法3类似,但使用str(item)而不是item
但是打印出来的东西很奇怪,它将在第4部分中显示
def wcsv():
with open('proxies.csv', 'w') as pr:
writer = csv.writer(pr)
for dc in proxies:
for key, value in dc.items():
writer.writerow([key, value])
pr.close()
def rcsv():
with open('proxies.csv', 'r') as py:
reader = csv.reader(py)
#header = next(reader)
proxylist = [row for row in reader]
下一步将是方法。
方法4打印样本 例如:
list
[[''http','203.76.xxx.xxx:xxxx'],['http','xxx.xxx.xxx.xxx:xx'],[] .....]
list[0]
[[''http','203.76.xxx.xxx:xxxx'] 正确
str(list[0])
['http'203.76.xxx.xxx:xxxx'] 似乎问题出在这里... 但我不知道如何解决 和关键,价值 {'h':'2','[':'','t':'3',“'”:“'”,'p':'。'} 那是什么??!
实际上,如果可行,任何其他方式都是好消息。
我也用方法2修改了一个地方,我忘了,它可以工作,但是最新的只有一行(最后一行),因为所有的键都是'http',如果有的键是,整个字典只能显示一项相同。 实际上,我期望其中有几个字典的列表。 喜欢 [{},{},{}.....] 您能帮我一些可行的代码吗? 非常感谢。