我正在做一些网络抓取并使用抓取的数据制作 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"和"图像来源"以外的所有列都正常工作,我确实有"属性 1 值"在工作。虽然现在不是。
在我正在做的每个循环之后:
df.at[count, 'Image src'] = images
df.at[count, 'Attribute 1 value(s)'] = colors
此外,没有填充"regular_price"的事实也很奇怪,因为我可以毫无问题地打印值,与"图像"列表相同
任何帮助将不胜感激。
尝试在迭代时将值追加到字典中,并在最后创建数据帧
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)