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.