Парсер записывает в csv данные 3 раза
имеется код, записывает указанные данные 3 раза.
title = 'car 2007'
price = '237.000 RUB'
url = 'yummy.ru
data = {'title': title,
'price': price,
'url': url}
with open('yummy.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow(('title', 'price', 'url'))
for i in data:
# results = data['title', 'url', 'price']
writer.writerow((data['title'], data['price'], data['url']))
вывод
title,price,url
car 2007,237.000 RUB,avito.ru
car 2007,237.000 RUB,avito.ru
car 2007,237.000 RUB,avito.ru
Помогите пожалуйста
Ответы (1 шт):
Автор решения: icYFTL
→ Ссылка
for i in data:
# results = data['title', 'url', 'price']
writer.writerow((data['title'], data['price'], data['url']))
Так как ключа в словаре data 3, то и записывается 3 раза одно и тоже.
В данном случае: уберите for
writer.writerow((data['title'], data['price'], data['url']))
for нужен в том случае, если у вас, допустим, список словарей:
data = [{'title': 'lol', 'price': '0', 'url': 'kek'},{'title': 'lolkek', 'price': '1', 'url': 'keklol'}]
for x in data:
writer.writerow((x['title'], x['price'], x['url']))