Hvordan lage Arrays fra en CSV med Python

En kommaseparerte verdier (CSV) inneholder data i rent tekstformat adskilt med komma og linjeskift. CSV-filer blir ofte brukt av programmer som Microsoft Excel og Matlab. Filene er en praktisk måte å lagre data, fordi du ikke trenger et slikt program for å lese dem som du kan se dem på noen ren tekst editor. På grunn av sin omfattende bruk, har Python en innebygd modul dedikert til å jobbe med CSV-filer.

Bruksanvisning

1 Start Python kommandolinje tolk.

2 Skriv inn følgende kommandoer for å gjøre bruk av "CSV" og "array" moduler:

import csv

fra matrise import matrise

3 Lag en matrise som heter "data" for å lagre verdiene fra CSV-filen:

data = array ( 'i')

I dette eksemplet er det forutsatt at verdiene i CSV-filen er signert heltall. Se dokumentasjonen for den "array" -modulen på Docs.python.org hvis du trenger å oppgi en annen datatype.

4 Åpne en CSV-fil for lesing med "åpen" kommandoen, angi filnavnet som første argument:

file = open ( 'csvfile.csv', linjeskift = '')

Filbanen for Python er vanligvis "C: \ Python32 \" hvis du bruker Windows. CSV-filer kan ha ulike utvidelser, som "csv", "dat" eller "txt". Den "newline" argument bidrar til å unngå diverse kompatibilitetsproblemer med linjeskift.

5 Bruk "leser" -funksjonen i "csv" modulen for å lese fra CSV-filen:

csvinput = csv.reader (fil)

6 Gjenta for linjene i CSV-fil ved hjelp av en "for" loop med "csvinput" variable:

for linjer i csvinput:

7 Skriv inn følgende kommando, omslutter det som vist for å gjøre det en del av "for" loop:

data.fromlist([int(x) for x in lines])

8 Trykk "Enter" for å legge en blank linje og kjøre "for" loop. Dataene fra CSV-filen er analysert som heltall og lagt til "data" array.

9 Skriv "data" og trykk "Enter" for å se at matrisen er fylt med heltall lagret i CSV-filen.

Hint

  • Den "csv" Modulen har funksjoner for å legge til rette for å lese fra spesielt formaterte CSV-filer, for eksempel de som er laget av Excel. Se dokumentasjonen av "csv" -modulen på Docs.python.org for detaljer.
  • Den populære NumPy Pakken legger en kraftigere "array" datatype, men er ennå ikke fullt ut kompatibel med den nyeste versjonen av Python.