Как записать спарсенные данные в файл?

Спарсил сайт, в консоли данные выводятся, как записать эти данные в файл (какой формат посоветуете, какой чаще используется? 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 шт):

Автор решения: 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"]])

  1. Строка отвечает за открытие или создание файла записи
  2. Строка отвечает за формат записи
  3. Строка за название столбцов
  4. Цикл 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)
→ Ссылка