prompter: Com es llegeix un fitxer CSV amb Python?

assistant: Hi ha diverses maneres de llegir un fitxer CSV amb Python, principalment en destacaríem dues: la fent servir el Mòdul CSV o utilitzant la coneguda llibreria Pandas.

1. Mòdul CSV:
Exemple de llegir un fitxer CSV que està emmagatzemat a la mateixa carpeta on executem el nostre codi en la versió 3 de Python:

```
import csv

# Obre el fitxer csv
with open('usuaris.csv') as fitxerCsv:
    fileres = csv.DictReader(fitxerCsv)

    # imprimeix per pantalla cada escuna de les fileres en forma de diccionari
    for filera in fileres:
        print(filera)

```




2. Llibreria Pandas:

Pandas es una alternativa interessant si posteriorment volem analitzar les dades de l'arxiu csv ja que permet manipular i fer gràfiques de forma eficient. A continuació es mostra un exemple similar a l'anterior fent servir Pandas:


```
import pandas as pd

continguts = pd.read_csv('./usuaris.csv')

# imprimeix per pantalla els continguts del fitxer en forma de taula
print(continguts)

```

Qualsevol dels dos exemples presentats llegeix els continguts d'un fitxer CSV i els guarda a una variable en memòria per a poder manipular-los i visualitzar-los.

assistant: Per llegir un fitxer CSV amb Python, és possible utilitzar la llibreria estàndard csv. A continuació, et mostro un exemple bàsic que et guiarà per llegir un fitxer CSV:

Suposem que tenim un fitxer CSV amb el nom dades.csv, que conté dades separades per comes. El fitxer conté tres columnes: nom, edat i ciutat.

Primer, hem d'importar la llibreria csv i obrir el fitxer amb la funció open() de Python. Després, podem llegir el contingut del fitxer amb la funció reader() de la llibreria csv.

python:

import csv

with open('dades.csv') as fitxer_csv:
    llegir_csv = csv.reader(fitxer_csv, delimiter=',')

    for fila in llegir_csv:
        nom = fila[0]
        edat = fila[1]
        ciutat = fila[2]

        print(nom, edat, ciutat)
En aquest exemple, estem obrint el fitxer dades.csv i llegint les dades amb la funció csv.reader(). També hem especificat que les dades estan separades per comes utilitzant el paràmetre delimiter=','.

Després, hem recorregut cada fila del fitxer utilitzant un bucle for, i hem assignat cada columna de la fila a una variable corresponent. Finalment, hem imprès les variables a la pantalla.

Aquesta és només una forma bàsica de llegir un fitxer CSV amb Python, i és possible que hagis de modificar el codi segons la estructura del teu propi fitxer. Per exemple, si la teva fitxer CSV conté encapçalaments, pots llegir-los amb la funció DictReader() de la llibreria csv.

assistant: Pots utilitzar el mòdul csv que ja ve inclòs en la llibreria estàndard del Python. Et mostraré a tall de prova com podries fer-ne ús.
Suposem que tens un fitxer «dades.csv» amb el següent contingut:
nom,edat,email
Joan,28,joan@gmail.com
Andrea,19,andrea@hotmail.com
Pere,40,pere@yahoo.com
Pots llegir aquest fitxer i emmagatzemar el seu contingut en una llista de diccionaris utilitzant el següent codi:
import csv

with open('dades.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    llista_dades = []
    for fila in reader:
        llista_dades.append(fila)

Aquest codi obre el fitxer dades.csv, crea un objecte DictReader del mòdul csv i recorre cada fila del fitxer, emmagatzemant les dades en una llista de diccionaris.
Cada fila del fitxer es converteix en un diccionari, on les claus són els noms de les columnes (en aquest cas, "nom", "edat" i "email") i els valors són les dades corresponents a cada fila.
En concloure, la variable llista_dades contindrà una llista de diccionaris amb la informació del fitxer CSV.
Tingues en compte que el paràmetre newline='' a la funció open és necessari per assegurar-se que es llegeixin correctament els salts de línia del fitxer CSV a qualsevol plataforma.