Projet

Général

Profil

Logiciel » csv_to_c.py

Adam-Musharraf IMTHADULLA, 31/01/2025 23:59

 
import csv

def generate_c_truth_table(input_csv, output_file):
try:
# Ouvre le fichier CSV pour lecture
with open(input_csv, mode='r') as csv_file:
csv_reader = csv.reader(csv_file)
# Liste pour stocker les lignes formatées
formatted_lines = []
row_count = 0 # Compteur pour le nombre de lignes
for row in csv_reader:
row_count += 1 # Incrémenter à chaque ligne
# Les entrées (toutes sauf la dernière colonne) et la sortie (dernière colonne)
inputs = row[:-1]
output = row[-1]
# Formate la ligne pour le tableau C en utilisant des virgules
formatted_line = (
f" {{{','.join(inputs + [output])}}}" # Valeurs des entrées et sortie
)
formatted_lines.append(formatted_line)
# Écrit le tableau C dans le fichier de sortie
with open(output_file, mode='w') as output:
output.write(f"const uint16_t truth_table[{row_count}][17] = {{\n")
output.write(",\n".join(formatted_lines))
output.write("\n};\n")

print(f"Le fichier {output_file} a été généré avec succès.")
except Exception as e:
print(f"Une erreur s'est produite : {e}")

# Fichier d'entrée (CSV) et fichier de sortie
input_csv = '/Users/a.imthadulla/Desktop/Punch/look_up_table_unformatted.csv' # Remplacez par le chemin de votre fichier CSV
output_file = '/Users/a.imthadulla/Desktop/Punch/look_up_table_formatted_to_C.c'

generate_c_truth_table(input_csv, output_file)
(5-5/8)