Πώς να διαβάσετε το αρχείο CSV Python (Ενότητα, Παραδείγματα Pandas)
⚡ Έξυπνη Σύνοψη
Ένα αρχείο CSV αποθηκεύει δεδομένα πίνακα ως απλό κείμενο, με κόμματα να διαχωρίζουν τις στήλες και νέες γραμμές να διαχωρίζουν τις γραμμές. Εδώ θα μάθετε να διαβάζετε και να γράφετε αρχεία CSV σε Python χρησιμοποιώντας την ενσωματωμένη ενότητα csv και τη βιβλιοθήκη pandas.

Τι είναι ένα αρχείο CSV;
A Αρχείο CSV είναι ένας απλός τύπος αρχείου απλού κειμένου που χρησιμοποιεί μια συγκεκριμένη δομή για να τακτοποιήσει δεδομένα σε πίνακα. Η τυπική μορφή ενός αρχείου CSV ορίζεται από σειρές και στήλες δεδομένων όπου μια νέα γραμμή τερματίζει κάθε σειρά για να ξεκινήσει την επόμενη σειρά και κάθε στήλη διαχωρίζεται με κόμμα εντός της σειράς.
Το CSV είναι μια κοινή μορφή για την ανταλλαγή δεδομένων καθώς είναι συμπαγής, απλή και γενική. Πολλές διαδικτυακές υπηρεσίες επιτρέπουν στους χρήστες τους να εξάγουν δεδομένα πίνακα από τον ιστότοπο σε ένα αρχείο CSV. Τα αρχεία CSV θα ανοίξουν στο Excel και σχεδόν όλες οι βάσεις δεδομένων διαθέτουν ένα εργαλείο που επιτρέπει την εισαγωγή από αρχεία CSV.
Δείγμα αρχείου CSV
Τα δεδομένα με τη μορφή πινάκων ονομάζονται επίσης CSV (τιμές διαχωρισμένες με κόμμα) - κυριολεκτικά "τιμές διαχωρισμένες με κόμμα". Αυτή είναι μια μορφή κειμένου που προορίζεται για την παρουσίαση δεδομένων σε πίνακα. Κάθε γραμμή του αρχείου είναι μια γραμμή του πίνακα. Οι τιμές των μεμονωμένων στηλών διαχωρίζονται με ένα διαχωριστικό σύμβολο - ένα κόμμα (,), ένα ερωτηματικό (;) ή άλλο σύμβολο. Το CSV μπορεί εύκολα να διαβαστεί και να υποβληθεί σε επεξεργασία από Python.
Εξετάστε τον ακόλουθο Πίνακα
Δεδομένα πίνακα
| Γλώσσα προγραμματισμού | Σχεδιάστηκε από την | Εμφανίστηκε | Επέκταση |
|---|---|---|---|
| Python | Guido van Rossum | 1991 | .py |
| Java | Τζέιμς Γκόσλινγκ | 1995 | . java |
| C++ | Bjarne Stroustrup | 1983 | .cpp |
Μπορείτε να αναπαραστήσετε αυτόν τον πίνακα σε csv όπως παρακάτω.
Δεδομένα CSV
Γλώσσα προγραμματισμού, Designed by, Appeared, Extension
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup, 1983, cpp
Όπως μπορείτε να δείτε, κάθε σειρά είναι μια νέα γραμμή και κάθε στήλη χωρίζεται με κόμμα. Αυτό είναι ένα παράδειγμα για το πώς φαίνεται ένα αρχείο CSV.
Python Ενότητα CSV
Python παρέχει μια μονάδα CSV για το χειρισμό αρχείων CSV. Για να διαβάσετε/εγγράψετε δεδομένα, πρέπει να πραγματοποιήσετε επαναφορά στις σειρές του CSV. Πρέπει να χρησιμοποιήσετε τη μέθοδο διαχωρισμού για να λάβετε δεδομένα από καθορισμένες στήλες.
Λειτουργίες μονάδας CSV
Στην τεκμηρίωση της μονάδας CSV μπορείτε να βρείτε τις ακόλουθες λειτουργίες:
- csv.field_size_limit – επιστροφή μέγιστου μεγέθους πεδίου
- csv.get_dialect – λάβετε τη διάλεκτο που σχετίζεται με το όνομα
- csv.list_dialects – εμφάνιση όλων των καταχωρημένων διαλέκτων
- csv.reader – ανάγνωση δεδομένων από ένα αρχείο csv
- csv.register_dialect – συσχετίστε τη διάλεκτο με το όνομα
- csv.writer – εγγραφή δεδομένων σε αρχείο csv
- csv.unregister_dialect – διαγράψτε τη διάλεκτο που σχετίζεται με το όνομα του μητρώου διαλέκτου
- csv.QUOTE_ALL – Αναφέρετε τα πάντα, ανεξαρτήτως τύπου.
- csv.QUOTE_MINIMAL – Πεδία προσφοράς με ειδικούς χαρακτήρες
- csv.QUOTE_NONNUMERIC – Αναφέρετε όλα τα πεδία που δεν έχουν αριθμητική αξία
- csv.QUOTE_NONE – Μην αναφέρετε τίποτα στην έξοδο
Σε αυτό το σεμινάριο, θα εστιάσουμε μόνο στις λειτουργίες ανάγνωσης και εγγραφής που σας επιτρέπουν να επεξεργαστείτε, να τροποποιήσετε και να χειριστείτε τα δεδομένα σε ένα αρχείο CSV.
Πώς να διαβάσετε ένα αρχείο CSV σε Python
Ακολουθούν τα βήματα για την ανάγνωση του αρχείου CSV Python.
Βήμα 1) Για να διαβάσετε δεδομένα από αρχεία CSV, πρέπει να χρησιμοποιήσετε τη λειτουργία ανάγνωσης για να δημιουργήσετε ένα αντικείμενο ανάγνωσης.
Η συνάρτηση ανάγνωσης έχει αναπτυχθεί για να παίρνει κάθε γραμμή του αρχείου και να δημιουργεί μια λίστα με όλες τις στήλες. Στη συνέχεια, πρέπει να επιλέξετε τη στήλη για την οποία θέλετε τα δεδομένα μεταβλητής.
Ακούγεται πολύ πιο περίπλοκο από ό,τι είναι. Ας ρίξουμε μια ματιά σε αυτό Python κώδικας για την ανάγνωση του αρχείου CSV και θα ανακαλύψουμε ότι η εργασία με το αρχείο csv δεν είναι τόσο δύσκολη.
#import necessary modules import csv with open('X:\data.csv','rt')as f: data = csv.reader(f) for row in data: print(row)
Βήμα 2) Όταν εκτελέσετε το παραπάνω πρόγραμμα, η έξοδος θα είναι:
['Programming language; Designed by; Appeared; Extension'] ['Python; Guido van Rossum; 1991; .py'] ['Java; James Gosling; 1995; .java'] ['C++; Bjarne Stroustrup;1983;.cpp']
Πώς να διαβάσετε ένα αρχείο CSV σε ένα λεξικό στο Python
Μπορείτε επίσης να χρησιμοποιήσετε το DictReader για να διαβάσετε αρχεία CSV. Τα αποτελέσματα ερμηνεύονται ως λεξικό όπου η γραμμή κεφαλίδας είναι το κλειδί και οι άλλες σειρές είναι τιμές.
Σκεφτείτε τον παρακάτω κώδικα
#import necessary modules import csv reader = csv.DictReader(open("file2.csv")) for raw in reader: print(raw)
Το αποτέλεσμα αυτού του κώδικα είναι:
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')])
Και αυτός ο τρόπος ανάγνωσης δεδομένων από αρχείο CSV είναι πολύ πιο εύκολος από την προηγούμενη μέθοδο. Ωστόσο, αυτός δεν είναι ο καλύτερος τρόπος για να διαβάσετε δεδομένα.
Πώς να γράψετε ένα αρχείο CSV Python
Δείτε πώς μπορείτε να γράψετε ένα αρχείο CSV Python:
Όταν έχετε ένα σύνολο δεδομένων που θέλετε να αποθηκεύσετε σε ένα αρχείο CSV, πρέπει να χρησιμοποιήσετε τη συνάρτηση writer(). Για να επαναλάβετε τα δεδομένα στις γραμμές(γραμμές), πρέπει να χρησιμοποιήσετε τη συνάρτηση writerow().
Εξετάστε το ακόλουθο παράδειγμα. Γράφουμε δεδομένα σε ένα αρχείο "writeData.csv" όπου ο οριοθέτης είναι απόστροφος.
#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'])
Το αποτέλεσμα στο αρχείο csv είναι:
Programming language, Designed by, Appeared, Extension Python, Guido van Rossum, 1991, .py Java, James Gosling, 1995, .java C++, Bjarne Stroustrup,1983,.cpp
Διαβάστε το αρχείο CSV χρησιμοποιώντας το Pandas
Το Pandas είναι μια βιβλιοθήκη ανοιχτού κώδικα που σας επιτρέπει να εισάγετε CSV Python και να εκτελέσετε χειρισμό δεδομένων. Τα Panda παρέχουν έναν εύκολο τρόπο δημιουργίας, χειρισμού και διαγραφής δεδομένων.
Πρέπει να εγκαταστήσετε τη βιβλιοθήκη pandas με την εντολή pip install pandas . Σε Windows, θα εκτελέσετε αυτήν την εντολή στη γραμμή εντολών ενώ στο Linux στο τερματικό.
Η ανάγνωση του CSV σε pandas DataFrame είναι πολύ γρήγορη και εύκολη:
#import necessary modules import pandas result = pandas.read_csv('X:\data.csv') print(result)
Αποτέλεσμα του διαβάστε το CSV Pandas παράδειγμα:
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
Πολύ χρήσιμη βιβλιοθήκη. Σε τρεις μόνο γραμμές κώδικα έχετε το ίδιο αποτέλεσμα με προηγουμένως. Τα πάντα γνωρίζουν ότι η πρώτη γραμμή του CSV περιείχε ονόματα στηλών και θα τα χρησιμοποιήσει αυτόματα.
Γράψτε αρχείο CSV χρησιμοποιώντας Pandas
Η εγγραφή σε αρχείο CSV με τα Pandas είναι τόσο εύκολη όσο η ανάγνωση. Εδώ μπορείτε να πείσετε σε αυτό. Πρώτα πρέπει να δημιουργήσετε DataFrame με βάση τα ακόλουθα Python εγγραφή στον κώδικα 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)
Εδώ είναι η έξοδος
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
Και το αρχείο CSV δημιουργείται στην καθορισμένη τοποθεσία.



