Cum să citiți fișierul CSV în Python (Modul, exemple de panda)

⚡ Rezumat inteligent

Un fișier CSV stochează datele tabelare ca text simplu, cu virgule care separă coloanele și linii noi care separă rândurile. Aici veți învăța să citiți și să scrieți fișiere CSV în Python folosind modulul csv încorporat și biblioteca pandas.

  • 📄 Ce este: Un fișier CSV stochează datele tabelare ca text simplu separat prin virgulă.
  • 📖 cititor csv: csv.reader() citește rânduri dintr-un fișier CSV ca liste.
  • 📚 Cititor de dictări: csv.DictReader() citește fiecare rând într-un dicționar ordonat.
  • ✍️ csv.writer: csv.writer() și writerow() scriu rânduri într-un fișier CSV.
  • ???? Panda: pandas.read_csv() și to_csv() citesc și scriu fișiere CSV pe o singură linie.
  • 🤖 Ajutor AI: Instrumentele de inteligență artificială precum Copilot generează instantaneu cod CSV de citire și scriere.

Citește fișierul CSV în Python

Ce este un fișier CSV?

A Fișier CSV este un tip simplu de fișier text simplu care utilizează o structură specifică pentru a aranja datele tabulare. Formatul standard al unui fișier CSV este definit de date de rânduri și coloane, în care o nouă linie termină fiecare rând pentru a începe următorul rând și fiecare coloană este separată de o virgulă în rând.

CSV este un format comun pentru schimbul de date, deoarece este compact, simplu și general. Multe servicii online permit utilizatorilor lor să exporte date tabelare de pe site într-un fișier CSV. Fișierele CSV se vor deschide în Excel și aproape toate bazele de date au un instrument care permite importul din fișiere CSV.

Fișier exemplu CSV

Datele sub formă de tabele se mai numesc și CSV (valori separate prin virgulă) - literalmente „valori separate prin virgulă”. Acesta este un format text destinat prezentării datelor tabelare. Fiecare linie a fișierului este o linie a tabelului. Valorile coloanelor individuale sunt separate printr-un simbol separator – virgulă (,), punct și virgulă (;) sau alt simbol. CSV poate fi ușor de citit și procesat de Python.

Luați în considerare următorul tabel

Date de tabel

Limbaj de programare Proiectat de A apărut Extensie
Python Guido van Rossum 1991 PY
Java James goslin 1995 .Java
C++ Bjarne Stroustrup 1983 .cpp

Puteți reprezenta acest tabel în csv ca mai jos.

Date CSV

Limbajul de programare, Proiectat de, Apărut, Extensie

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup,1983,.cpp

După cum puteți vedea, fiecare rând este o linie nouă, iar fiecare coloană este separată prin virgulă. Acesta este un exemplu despre cum arată un fișier CSV.

Descărcați datele CSV

Python Modulul CSV

Python oferă un modul CSV pentru a gestiona fișierele CSV. Pentru a citi/scrie date, trebuie să parcurgeți rândurile CSV. Trebuie să utilizați metoda split pentru a obține date din coloanele specificate.

Funcțiile modulului CSV

În documentația modulului CSV puteți găsi următoarele funcții:

  • csv.field_size_limit – returnează dimensiunea maximă a câmpului
  • csv.get_dialect – obțineți dialectul care este asociat cu numele
  • csv.list_dialects – arată toate dialectele înregistrate
  • csv.reader – citește datele dintr-un fișier csv
  • csv.register_dialect – asociază dialectul cu numele
  • csv.writer – scrieți date într-un fișier csv
  • csv.unregister_dialect – ștergeți dialectul asociat cu numele registrului de dialecte
  • csv.QUOTE_ALL – Citați totul, indiferent de tip.
  • csv.QUOTE_MINIMAL – Câmpuri de citate cu caractere speciale
  • csv.QUOTE_NONNUMERIC – Cotați toate câmpurile care nu sunt valori numerice
  • csv.QUOTE_NONE – Nu cita nimic în ieșire

În acest tutorial, ne vom concentra doar pe funcțiile de citire și scriere care vă permit să editați, să modificați și să manipulați datele dintr-un fișier CSV.

Cum să citiți un fișier CSV în Python

Mai jos sunt pașii pentru a citi fișierul CSV Python.

Pas 1) Pentru a citi date din fișierele CSV, trebuie să utilizați funcția de citire pentru a genera un obiect de citire.

Funcția de citire este dezvoltată pentru a lua fiecare rând al fișierului și a face o listă cu toate coloanele. Apoi, trebuie să alegeți coloana pentru care doriți datele variabile.

Sună mult mai complicat decât este. Să aruncăm o privire la asta Python cod pentru a citi fișierul CSV și vom afla că lucrul cu fișierul csv nu este atât de greu.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

Pas 2) Când executați programul de mai sus, rezultatul va fi:

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

Cum să citiți un fișier CSV într-un dicționar în Python

De asemenea, puteți utiliza DictReader pentru a citi fișiere CSV. Rezultatele sunt interpretate ca un dicționar în care rândul antetului este cheia, iar alte rânduri sunt valori.

Luați în considerare următorul cod

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

Rezultatul acestui cod este:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

Citiți un fișier CSV într-un dicționar

Și acest mod de a citi datele din fișierul CSV este mult mai ușor decât metoda anterioară. Cu toate acestea, acesta nu este cel mai bun mod de a citi datele.

Cum se scrie fișierul CSV în Python

Iată cum să scrieți un fișier CSV în Python:

Când aveți un set de date pe care doriți să le stocați într-un fișier CSV, trebuie să utilizați funcția writer(). Pentru a itera datele peste rânduri (linii), trebuie să utilizați funcția writerow().

Luați în considerare următorul exemplu. Scriem datele într-un fișier „writeData.csv” unde delimitatorul este un apostrof.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Rezultatul în fișierul csv este:

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

scrieți fișierul CSV în Python

Citiți fișierul CSV folosind Pandas

Pandas este o bibliotecă opensource care vă permite să importați CSV în Python și să efectueze manipularea datelor. Pandas oferă o modalitate ușoară de a crea, manipula și șterge datele.

Trebuie să instalați biblioteca Pandas cu comanda pip install pandas . În Windows, veți executa această comandă în Command Prompt în timp ce sunteți în Linux în Terminal.

Citirea CSV într-un Pandas DataFrame este foarte rapidă și ușoară:

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

Rezultatul citește CSV Pandas exemplu:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Biblioteca foarte utila. În doar trei linii de cod aveți același rezultat ca mai devreme. Pandas știu că prima linie a CSV conține nume de coloane și le va folosi automat.

Scrieți fișierul CSV folosind Pandas

Scrierea în fișierul CSV cu Pandas este la fel de ușoară ca și citirea. Aici te poți convinge în ea. Mai întâi trebuie să creați DataFrame pe baza următoarelor Python scrieți în codul CSV.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

Aici este rezultatul

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Și fișierul CSV este creat în locația specificată.

Scrieți fișierul CSV folosind Pandas

Întrebări frecvente

Un fișier CSV (valori separate prin virgulă) este un fișier text simplu care stochează date tabelare. Fiecare linie este un rând, iar virgulele separă valorile din fiecare coloană.

Importați modulul csv, deschideți fișierul și transmiteți-l către csv.reader() pentru a parcurge rândurile ca liste. Alternativ, utilizați csv.DictReader() pentru a citi fiecare rând ca dicționar.

Deschideți un fișier în modul de scriere, creați un csv.writer() și apelați writerrow() pentru fiecare rând sau writerrows() pentru mai mulți. Writer-ul se ocupă de citate și de delimitatori.

Funcția csv.DictReader() citește un fișier CSV în dicționare ordonate, folosind rândul de antet drept chei. Aceasta vă permite să accesați fiecare valoare după numele coloanei în loc de index.

Apelați comanda pandas.read_csv('file.csv'), care încarcă fișierul CSV într-un DataFrame pe o singură linie. Pandas folosește automat primul rând ca antet de coloană.

Asistenții inteligenți artificiali, precum GitHub Copilot, completează automat apelurile CSV și Pandas, generează bucle de citire și scriere și sugerează delimitatorul sau opțiunea corectă de citare dintr-o scurtă descriere.

Da. Instrumentele bazate pe inteligență artificială pot automatiza analiza, curățarea și conversia datelor CSV, pot genera canale de procesare Pandas și pot adăuga gestionarea erorilor pentru rândurile incorecte sau coloanele lipsă.

Folosește modulul csv încorporat pentru citire și scriere simplă și ușoară. Alege panda atunci când trebuie să filtrezi, să transformi sau să analizezi eficient seturi mari de date CSV.

Rezumați această postare cu: