Как записать спарсенные данные в файл?
Спарсил сайт, в консоли данные выводятся, как записать эти данные в файл (какой формат посоветуете, какой чаще используется? JSON, CSV, TXT)
код такой:
for product in products:
for product in products:
list1.append(product.text.strip())
for price in prices:
list2.append(price.text.strip())
list3 = (f"{list1[i]}: {list2[i]}")
print(list3)
i = i + 1
Ответы (3 шт):
Автор решения: Alexander_K
→ Ссылка
Возможно подойдёт эта информация: Как создать и добавить текст в файл
Автор решения: ezios23
→ Ссылка
Думаю правильнее было бы сделать один цикл for.
По идее так:
with open(path, 'w', newline='') as file:
writer = csv.writer(file, delimiter=";")
writer.writerow(["product", "price"])
for product in products:
writer.writerow([list1["product"], list2["price"]])
- Строка отвечает за открытие или создание файла записи
- Строка отвечает за формат записи
- Строка за название столбцов
- Цикл
forза внесение в строки информации сlist
Автор решения: Сергей Ш
→ Ссылка
"какой формат посоветуете", а какой вам нравиться? "какой чаще используется?" Обычно кто платит, тот и заказывает музыку. Присмотритесь к модулю pickle.
import csv
import json
import pickle
dct = {}
txt = ''
products = ['adibas', 'punna']
prices = [200, 100]
with open('out.csv', 'w', newline='') as file:
file_csv = csv.writer(file)
for product, price in zip(products, prices): # for z in zip(products, prices):
# product, price = [x.text.strip() for x in z]
dct[product] = price
txt += f'{product} {price}\n'
file_csv.writerow([product, price])
with open('out.txt', 'w') as file:
file.write(txt)
with open('out.json', 'w') as file:
file.write(json.dumps(dct))
with open('out.pickle', 'wb') as file:
pickle.dump(dct, file)
print(txt)
