import csv
import json
class FileText:
def __init__(self, address):
self.address = address
def read_text_file(self):
try:
with open(self.address, encoding='utf-8') as f:
return eval(f.read())
except FileNotFoundError:
return 0
def write_text_file(self, content: str, mode='w'):
with open(self.address, mode, encoding='utf-8') as f:
f.write(content)
class FileJson:
def __init__(self, address):
self.address = address
def read_json_file(self):
try:
with open(self.address, encoding='utf-8') as f:
return json.loads(f.read())
except FileNotFoundError:
return 0
def write_json_file(self, content: str, mode='w'):
with open(self.address, mode, encoding='utf-8') as f:
f.write(json.dumps(content))
class FileCsv:
def __init__(self, address):
self.address = address
def read_csv_file(self, is_list=True):
try:
with open(self.address, mode='rt', encoding='utf-8') as f:
if is_list:
reader = csv.reader(f)
return reader
else:
reader = csv.DictReader(f)
content = []
for i in reader:
content.append(i)
return content
except FileNotFoundError:
return None
def write_csv_row_file(self, content, fileNames=None):
with open(self.address, mode='a', encoding='utf-8', newline='') as f:
if type(content) == list:
writer = csv.writer(f)
else:
if not fileNames:
fileNames = list(content.keys())
writer = csv.DictWriter(f, fileNames)
writer.writerow(content)
return 1
def write_csv_rows_file(self, content, mode='w', fieldnames=None):
with open(self.address, mode, encoding='utf-8', newline='') as f:
if type(content[0]) == list:
writer = csv.writer(f)
else:
if not fieldnames:
fieldnames = list(content[0].keys())
writer = csv.DictWriter(f, fieldnames)
writer.writeheader()
writer.writerows(content)
return 1