homework-jianmu/tests/pytest/util/csv.py

63 lines
1.6 KiB
Python

import csv
import os
class TDCsv:
def __init__(self):
self.__file_name = ''
self.__file_path = ''
@property
def file_name(self):
return self.__file_name
@file_name.setter
def file_name(self, value):
self.__file_name = value
@property
def file_path(self):
return self.__file_path
@file_path.setter
def file_path(self, value):
self.__file_path = value
@property
def file(self):
if self.file_name and self.file_path:
return os.path.join(self.file_path, self.file_name)
return None
def read(self):
try:
with open(self.file, newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)
except Exception as errMsg:
raise Exception(errMsg)
def __write_with_quotes(self, csv_writer, data):
for row in data:
row_with_quotes = [f'"{field}"' if isinstance(field, str) else field for field in row]
csv_writer.writerow(row_with_quotes)
def write(self, data: dict):
try:
with open(self.file, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(data)
# self.__write_with_quotes(writer, data)
except Exception as errMsg:
raise Exception(errMsg)
def delete(self):
try:
if os.path.exists(self.file):
os.remove(self.file)
except Exception as errMsg:
raise Exception(errMsg)