我使用selenium创建了一个python程序,我想将信息导出到csv并创建6列(产品标题,产品价格,产品重量, 产品尺寸,产品ASIN,购物车中的商品)。前5个产品信息来自第一个亚马逊页面,第6个信息来自购物车页面。现在我打印前5列并将第6列导出到csv但是我想用这些产品信息创建一个包含所有这6列的csv。我附上了代码。我将不胜感激。
def search(self, query):
return self.get_queryset().filter(
models.Q(name__icontains=query) | \
models.Q(description__icontains=query)
)
class Cad_component(models.Model):
title = models.CharField('Title', max_length=100)
slug = models.SlugField('Link')
description = models.TextField('Description', blank=True)
start_date = models.DateField('Data: ', null=True, blank=True)
image = models.ImageField(upload_to='img', verbose_name='Imagem', null=True, blank=True)
created_at = models.DateTimeField('Criado em ', auto_now_add=True)
updated_at = models.DateTimeField('Atualizado em', auto_now=True)
objects = ComponentManager()
def __str__(self):
return self.title
答案 0 :(得分:2)
如果您只输出一个标题行和一行特征,则最简单的方法是将每个标题创建为一个列表。例如:
header = ['Product Title', 'Product Price', 'Product weight', 'Product dimension', 'Product ASIN', 'Items in cart']
并按照您所描述的索引
data = [prod_title[0], prod_price[0], prod_weight[1], prod_dimension[1], prod_asin[1], items_in_cart[1]]
你可以这样写这些结果:
with open(csvfile, "w") as output:
writer = csv.writer(output)
writer.writerow(header)
writer.writerow(data)