我正在做一些网络抓取,并用抓取的数据制作csv。
我创建了一个包含列的数据帧:
df = pd.DataFrame(columns=['name', 'type', 'regular_price', 'Image src', 'Attribute 1 name', 'Attribute 1 value(s)', 'Attribute 2 name', 'Attribute 2 value(s)', 'Attribute 1 visible', 'Attribute 1 global', 'Attribute 2 visible', 'Attribute 2 global'])
我循环遍历所有链接,逐页拉取数据,并将其附加到数据帧中,如下所示:
df = df.append({'name':names,'type':'variable', 'regular_price':combprice, 'Image src':'1', 'Attribute 1 name':'Color' ,'Attribute 1 value(s)':'2' ,'Attribute 2 name':'Size' ,'Attribute 2 value(s)':sizes ,'Attribute 1 visible':'1' ,'Attribute 1 global':'1' ,'Attribute 2 visible':'1' ,'Attribute 2 global':'1'}, ignore_index=True)
除了'regular_price‘和'Image src’之外的所有列都在工作,我确实有'Attribute 1 value(s)‘在工作。尽管现在不是了。
在我执行的每个循环之后:
df.at[count, 'Image src'] = images
df.at[count, 'Attribute 1 value(s)'] = colors
此外,'regular_price‘没有被填充的事实也很奇怪,因为我可以毫无问题地打印值,与’image‘列表一样
任何帮助都将不胜感激。
发布于 2020-06-15 01:49:32
在迭代并在最后创建数据帧时,请尝试将值追加到字典中
dicts = {}
keys = ['name', 'type', 'regular_price', 'Image src', 'Attribute 1 name', 'Attribute 1 value(s)', 'Attribute 2 name', 'Attribute 2 value(s)', 'Attribute 1 visible', 'Attribute 1 global', 'Attribute 2 visible', 'Attribute 2 global']
for i in keys:
dicts[i] = names # and others
最后,您可以创建数据帧pd.DataFrame(dicts)
https://stackoverflow.com/questions/62380047
复制