Hvordan importere CSV for å liste opp Python

Hvordan importere CSV for å liste opp Python

Hva er en CSV -fil?

En CSV er en (komma -adskilt verdier) fil der data er i form av en tabellform. Utvidelsen av CSV -filen er .CSV. Denne CSV -filen brukes mest i dataanalysen. Bortsett fra dataanalysene, er CSV-filen også brukt i e-handelsapplikasjonen fordi det er veldig enkelt å håndtere i alle forskjellige typer programmeringsspråk.

Vi kan konvertere CSV til forskjellige datastrukturer som en liste, en liste over tuples og en liste over ordbøker. Vi kan også lagre CSV uten overskriften eller med overskriften som en liste, og for det kan vi bruke noen maskinlæringsbiblioteker som Pandas.

Eksempel_1: Konverter CSV til liste i Python

Nedenfor er en CSV -prøvefil som vil bli brukt til å konvertere til en liste.

"Måned", "1958", "1959", "1960"
"Jan", 340, 360, 417
"Feb", 318, 342, 391
"Mar", 362, 406, 419
"Apr", 348, 396, 461
"Mai", 363, 420, 472
"Jun", 435, 472, 535
"Jul", 491, 548, 622
"Aug", 505, 559, 606
"Sep", 404, 463, 508
"Oct", 359, 407, 461
"Nov", 310, 362, 390
"DEC", 337, 405, 432 Import CSV
med åpen ('prøve.csv ',' r ') som read_obj:
CSV_READER = CSV.leser (read_obj)
list_of_csv = liste (csv_reader)
print (list_of_csv)

Produksjon:

[['Jan', 340, 360, 417], ['Feb', 318, 342, 391], ['Mar', 362, 406, 419], ['apr', 348, 396, 461], [ 'May', 363, 420, 472], ['Jun', 435, 472, 535], ['Jul', 491, 548, 622], ['Aug', 505, 559, 606], ['Sep ', 404, 463, 508], [' okt ', 359, 407, 461], [' nov ', 310, 362, 390], [' des ', 337, 405, 432]]

Linje 1: Vi importerer CSV -modulen.

Linje 2 til 4: Vi åpner prøven.CSV -fil i lesemodus 'r'. Så passerer vi read_obj til CSV.Reader () -metode mens du oppretter et objekt for å lese CSV -filen. Deretter konverterer vi eksplisitt CSV -leste data til en liste ved hjelp av støpt type rollebesetning.

Linje 6: Utgangen ovenfor viser at CSV -dataene våre nå blir konvertert til listen.

Eksempel_2: Bruke Pandas for å lese CSV -liste

I dette eksemplet skal vi bruke Pandas -biblioteket til å lese CSV -filen og konvertere dem til en liste. CSV -filen er den samme som vi har brukt i eksemplet_1 (prøve.CSV).

Importer pandaer som PD
df = pd.read_csv ('prøve.CSV ', avgrensning =', ')
list_of_csv = [liste (rad) for rad i df.verdier]
print (list_of_csv)

Produksjon:

[['Jan', 340, 360, 417], ['Feb', 318, 342, 391], ['Mar', 362, 406, 419], ['apr', 348, 396, 461], [ 'May', 363, 420, 472], ['Jun', 435, 472, 535], ['Jul', 491, 548, 622], ['Aug', 505, 559, 606], ['Sep ', 404, 463, 508], [' okt ', 359, 407, 461], [' nov ', 310, 362, 390], [' des ', 337, 405, 432]]

Linje 1: Vi importerer Pandas -modulen som PD.

Linje 2 til 3: Vi leste CSV -filen ved hjelp av Pandas Library Read_CSV og konverterte den til en DataFrame (DF). Deretter konverterer vi hver rad til en liste og tildeler resultatet til list_of_csv -variabelen.

Linje 4: Utgangen ovenfor viser at CSV -dataene våre nå blir konvertert til listen.

Eksempel_3: Konverter CSV -fildataene til en liste over tuples

I dette eksemplet skal vi konvertere CSV -fildataene til en liste over tuples. CSV -filen er den samme som vi har brukt i eksemplet_1 (prøve.CSV).

Importer CSV
med åpen ('prøve.csv ',' r ') som read_obj:
CSV_READER = CSV.leser (read_obj)
list_of_csv = liste (kart (tuple, csv_reader)))
print (list_of_csv)

Produksjon:

[('Måned', '"1958"', '"1959"', '"1960"'), ('Jan', '340', '360', '417'), ('Feb', '318 ',' 342 ',' 391 '), (' Mar ',' 362 ',' 406 ',' 419 '), (' apr ',' 348 ',' 396 ',' 461 '), (' Mai ',' 363 ',' 420 ',' 472 '), (' Jun ',' 435 ',' 472 ',' 535 '), (' Jul ',' 491 ',' 548 ',' 622 ')) , ('Aug', '505', '559', '606'), ('Sep', '404', '463', '508'), ('okt', '359', '407', '461'), ('nov', '310', '362', '390'), ('des', '337', '405', '432')]

Linje 1: Vi importerer CSV -modulen.

Linje 2 til 4: Vi åpner prøven.CSV -fil i lesemodus 'r'. Vi passerer read_obj til CSV.Reader () -metode mens du oppretter et objekt for å lese CSV -filen. Deretter konverterer vi hver rad i CSV til en tuple ved hjelp av en kartfunksjon og omsider konverterer hele dataene til en liste.

Linje 5: Utgangen ovenfor viser at CSV -dataene våre nå blir konvertert til en liste over tuples.

Eksempel_4: Konverter CSV -fildataene til en liste over ordbøker

I dette eksemplet skal vi konvertere CSV -fildataene til en liste over ordbøker. CSV -filen er den samme som vi har brukt i eksemplet_1 (prøve.CSV).

Importer CSV
med åpen ('prøve.csv ',' r ') som read_obj:
dict_reader = csv.DICTREADER (read_obj)
list_of_dict = list (dict_reader)
print (list_of_dict)

Produksjon:

['Måned': 'Jan', '"1958"': '340', '"1959"': '360', '"1960"': '417', 'måned': 'Feb', '"1958"': '318', '"1959"': '342', '"1960"': '391', 'måned': 'Mar', '"1958"': '362', '"1959"': '406', '"1960"': '419', 'Month': 'Apr', '"1958"': '348', '"1959"': '396', '"1960"': '461', 'måned': 'May', '"1958"': '363', '"1959"': '420', '"1960"': '472' , 'Måned': 'Jun', '"1958"': '435', '"1959"': '472', '"1960"': '535', 'måned': 'Jul', '"1958"': '491', '"1959"': '548', '"1960"': '622', 'Month': 'Aug', '"1958"': '505', '"1959"': '559', '"1960"': '606', 'Month': 'Sep', '"1958"': '404', '"1959"': '463', '"1960"': '508', 'måned': 'okt', '"1958"': '359', '"1959"': '407', '"1960"': '461' , 'Måned': 'nov', '"1958"': '310', '"1959"': '362', '"1960"': '390', 'måned': 'des', '"1958"': '337', '"1959"': '405', '"1960"': '432']]

Linje 1: Vi importerer CSV -modulen.

Linje 2 til 4: Vi åpner prøven.CSV -fil i lesemodus 'r'. Deretter passerer vi read_obj til

CSV.DICTREADER -metoden Mens du oppretter et objekt for å lese CSV -filen. CSV.DicTreader konverterer automatisk hver rad til en ordbok. Og så konverterer vi hele resultatene til en liste.

Linje 6: Utgangen ovenfor viser at CSV -dataene våre nå blir konvertert til en liste over ordbøker.

Eksempel_5: Bruk pandaene til å konvertere CSV -fildataene til en liste med overskriften

I dette eksemplet skal vi bruke Pandas -biblioteket til å lese CSV -filen og konvertere dem til en liste sammen med Header. CSV -filen er den samme som vi har brukt i eksemplet_1 (prøve.CSV).

Importer pandaer som PD
df = pd.read_csv ('prøve.CSV ', avgrensning =', ')
list_of_csv = [liste (rad) for rad i df.verdier]
list_of_csv.Sett inn (0, DF.kolonner.ramse opp())
print (list_of_csv)

Produksjon:

[['Måned', '"1958"', '"1959"', '"1960"'], ['Jan', 340, 360, 417], ['Feb', 318, 342, 391], [ 'Mar', 362, 406, 419], ['apr', 348, 396, 461], ['May', 363, 420, 472], ['Jun', 435, 472, 535], ['Jul ', 491, 548, 622], [' Aug ', 505, 559, 606], [' Sep ', 404, 463, 508], [' okt ', 359, 407, 461], [' nov ', 310, 362, 390], ['des', 337, 405, 432]]

Linje 1: Vi importerer Pandas -modulen som PD.

Linje 2 til 4: Vi leste CSV ved hjelp av Pandas Library Read_CSV og konverterte den til en DataFrame (DF). Deretter konverterer vi hver rad til en liste og tildeler resultatet til list_of_csv -variabelen. Nå, i neste linje, legger vi til ett listeelement i posisjon 0 på list_of_csv (listevariabel). Dette listeelementet er navnet på kolonner i CSV -fildataene.

Linje 5: Utgangen ovenfor viser at CSV -dataene våre nå blir konvertert til listen, og den første listeverdien er navnet på kolonner (header).

Konklusjon

I denne bloggen har vi lært om hvordan du konverterer CSV -fildataene til en liste. Vi har sett alle forskjellige metoder for listedatastruktur som tuples, ordbøker. Vi har også sett den samme metoden med Pandas -biblioteket. Da har vi også sett hvordan du legger til overskriften til CSV i listen.