Парсер записывает в 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']))
→ Ссылка