Πώς να διαβάσετε το αρχείο CSV Python (Ενότητα, Παραδείγματα 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 δημιουργείται στην καθορισμένη τοποθεσία.
Συμπέρασμα
Έτσι, τώρα ξέρετε πώς να χρησιμοποιείτε τη μέθοδο «csv» και επίσης να διαβάζετε και να γράφετε δεδομένα σε μορφή CSV. Τα αρχεία CSV χρησιμοποιούνται ευρέως σε εφαρμογές λογισμικού, επειδή είναι εύκολο να διαβαστούν και να διαχειριστούν, και το μικρό τους μέγεθος τα καθιστά σχετικά γρήγορα για επεξεργασία και μετάδοση.
Η μονάδα csv παρέχει διάφορες λειτουργίες και κλάσεις που σας επιτρέπουν να διαβάζετε και να γράφετε εύκολα. Μπορείτε να δείτε το επίσημο Python τεκμηρίωση και βρείτε μερικές ακόμη ενδιαφέρουσες συμβουλές και ενότητες. Το CSV είναι ο καλύτερος τρόπος για αποθήκευση, προβολή και αποστολή δεδομένων. Στην πραγματικότητα, δεν είναι τόσο δύσκολο να μάθεις όσο φαίνεται στην αρχή. Αλλά με λίγη εξάσκηση, θα τα καταφέρεις.
Το Pandas είναι μια εξαιρετική εναλλακτική για την ανάγνωση αρχείων CSV.
Επίσης, υπάρχουν άλλοι τρόποι ανάλυσης αρχείων κειμένου με βιβλιοθήκες όπως ANTLR, PLY και PlyPlus. Μπορούν όλοι να χειριστούν την ανάλυση βαρέως τύπου, και αν ο απλός χειρισμός συμβολοσειράς δεν λειτουργεί, υπάρχουν κανονικές εκφράσεις που μπορείτε να χρησιμοποιήσετε.



