llevo un rato intentando resolver este problema, pero no he logrado el resultado con la ultima parte.
he intentado imprimir en pantalla la información dentro de un archivo csv que contiene tres columnas:
nombre, valor1,valor2.
el inconveniente es que en cada fila imprime los valores en cualquier orden, no respeta el orden según los encabezados del csv.
comparto el código en caso de que alguién me pueda orientar con la solución.
Código:
import sys
import csv
def main():
if len(sys.argv)<2:
sys.exit("Too few command-line arguments")
elif len(sys.argv)>2:
sys.exit("Too many command-line arguments")
elif ".csv" not in sys.argv[1]:
sys.exit("Not a CSV file")
else:
try:
doc=sys.argv[1]
filas=[]
with open(doc,"r") as file:
headers=next(csv.reader(file))
for line in file:
menu = line.rstrip().split(",")
filas.append({menu[0], menu[1], menu[2]})
print(filas)
except FileNotFoundError:
sys.exit("File does not exist")
main()
No entiendo por qué me almacena en desorden cuando estoy especificando al momento de adicionar los valores el orden correcto: filas.append({menu[0], menu[1], menu[2]})
estaré agradecido si me ueden indicar en donde estoy mal o que me puede faltar.
muchas gracias.
P.D:Por favor disculpen el desorden en el codigo, soy novato en el tema.