From fa73484bc775095a4df58cb31fc483591a21bb56 Mon Sep 17 00:00:00 2001 From: Ilia Miheev Date: Thu, 1 May 2025 12:04:25 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=81=20=D0=B4=D0=BB=D1=8F=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20csv=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ipars/module.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/ipars/module.py b/ipars/module.py index 90bdfa0..ead4e9a 100644 --- a/ipars/module.py +++ b/ipars/module.py @@ -4,6 +4,39 @@ from selenium import webdriver from bs4 import BeautifulSoup from time import sleep import json +import csv + +class WorkWithScv: + '''Класс для работы с csv файлами во время парсинга''' + + def __init__(self, newline:str='', encoding:str='cp1251'): + '''Конструктор''' + self.newline = newline + self.encoding = encoding + + def writerow(self, file_path:str, mode:str, row:any, delimiter:str=';'): + '''Записываем строку в csv файл''' + with open(file_path, mode=mode, newline=self.newline, encoding=self.encoding) as file: + writer = csv.writer(file, delimiter=delimiter) + writer.writerow(row) + + def writerows(self, file_path:str, mode:str, row:list, delimiter:str=';'): + '''Записываем строки в csv файл''' + with open(file_path, mode=mode, newline=self.newline, encoding=self.encoding) as file: + writer = csv.writer(file, delimiter=delimiter) + writer.writerows(row) + + def getRows(self, file_path:str, delimiter:str=';'): + '''Возвращает строки файла''' + userRows = [] + + with open(file_path, mode='r', newline=self.newline, encoding=self.encoding) as csvfile: + csv_reader = csv.reader(csvfile, delimiter=delimiter) + + for row in csv_reader: + userRows.append(row) + + return userRows class Pars: '''Библиотека для работы с файлами во время парсинга'''