Boa tarde! Estou criando as classes, porém, quando eu crio a minha classe pra nomear as colunas, ela me retorna assim.
class Dados:
def __init__(self, path, tipo_dados):
self.path = path
self.tipo_dados = tipo_dados
self.dados = self.leitura_dados()
self.nome_colunas = self.get_columns()
def leitura_json(self):
dados_json = []
try:
with open(self.path, 'r') as file:
dados_json = json.load(file)
except Exception as e:
print(f"Erro ao ler o arquivo JSON: {e}")
return dados_json
def leitura_csv(self):
dados_csv = []
with open(self.path, 'r') as file:
spamreader = csv.DictReader(file, delimiter=',')
for row in spamreader:
dados_csv.append(row)
return dados_csv
def leitura_dados(self):
if self.tipo_dados == 'csv':
return self.leitura_csv()
elif self.tipo_dados == 'json':
return self.leitura_json()
else:
print(f"Tipo de arquivo '{self.tipo_dados}' não suportado.")
return []
def get_columns(self):
if not self.dados:
return []
if self.tipo_dados == 'csv' or (self.tipo_dados == 'json' and isinstance(self.dados[0], dict)):
return list(self.dados[0].keys())
else:
print("Formato de dados inesperado.")
return []
A chamada no script
dados_empresaB = Dados(path_json, 'csv')
print(dados_empresaB.nome_colunas)
O retorno
['[{"Nome do Produto":"Blush em p\\u00f3"', 'Categoria do Produto:"Eletrodom\\u00e9sticos"', 'Pre\\u00e7o do Produto (R$):79.41', 'Quantidade em Estoque:7', 'Filial:"Filial 7"}', '']