Πώς να φορτώσετε αρχεία στο Python με το pandas read_csv()
Το Python pandas read_csv() είναι μία από τις πιο συχνά χρησιμοποιούμενες μεθόδους για την ανάγνωση αρχείων CSV σε pandas και την αποθήκευσή τους ως DataFrames. Τα αρχεία CSV (comma-separated values) είναι μια ευρέως χρησιμοποιούμενη μορφή για την αποθήκευση δεδομένων σε πίνακες και υποστηρίζονται από πολλές εφαρμογές.
Ποια είναι η σύνταξη για το Python pandas read_csv();
pandas.read_csv() δημιουργεί ένα DataFrame pandas από ένα αρχείο CSV. Η βασική σύνταξη της συνάρτησης έχει την εξής μορφή:
import pandas as pd
df = pd.read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, usecols=None, dtype=None, ...)pythonΠοιοι είναι οι πιο σημαντικοί παράμετροι για pandas.read_csv();
pandas.read_csv() μπορεί να δεχτεί μια μεγάλη ποικιλία παραμέτρων. Για να διατηρήσουμε τα πράγματα απλά, θα επικεντρωθούμε στα πιο σημαντικά επιχειρήματα. Ακολουθεί μια επισκόπηση των βασικών παραμέτρων που μπορείτε να χρησιμοποιήσετε για να καθορίσετε τον τρόπο λειτουργίας της συνάρτησης:
| Παράμετρος | Σημασία | Προεπιλεγμένη τιμή |
|---|---|---|
filepath_or_buffer
|
Πρόκειται για μια συμβολοσειρά Python που αντιπροσωπεύει τη διαδρομή προς το αρχείο CSV ή ένα buffer δεδομένων, όπως μια διεύθυνση URL. | |
sep
|
Αυτό καθορίζει το διαχωριστικό μεταξύ των τιμών. | ,
|
header
|
Υποδεικνύει ποια σειρά θα χρησιμοποιηθεί ως κεφαλίδα. | infer (πρώτη σειρά)
|
names
|
Εάν έχει οριστεί header=None, μπορείτε να χρησιμοποιήσετε names για να παρέχετε μια λίστα Python με ονόματα στηλών.
|
|
index_col
|
Καθορίζει ποια στήλη θα χρησιμοποιηθεί ως δείκτης. | None
|
usecols
|
Αυτή η παράμετρος σας επιτρέπει να επιλέξετε ποιες στήλες θέλετε να φορτώσετε στο DataFrame. | None
|
dtype
|
Καθορίζει τον τύπο δεδομένων των στηλών. | None
|
Μπορείτε να βρείτε μια ολοκληρωμένη λίστα των παραμέτρων για αυτή τη λειτουργία στην τεκμηρίωση του pandas.
Πώς να αποκτήσετε πρόσβαση σε αρχεία CSV βήμα προς βήμα
Χρησιμοποιώντας pandas.read_csv(), μπορείτε εύκολα να μεταφέρετε δεδομένα από αρχεία CSV στο Python με λίγα μόνο βήματα.
Στα παρακάτω παραδείγματα, θα εργαστούμε με ένα αρχείο CSV που έχει την εξής δομή:
1,John Avery,35,Nottingham,50000
2,Adelaide Smith,29,London,62000
3,Michael Rivera,41,Cardiff,40000
4,Grace Kim,33,Hull,35000
5,Tyler Johnson,28,Kent,52000Βήμα 1: Εισαγωγή pandas
Πρώτα, εισαγάγετε τη βιβλιοθήκη pandas στο σενάριο Python.
import pandas as pdpythonΒήμα 2: Φορτώστε το αρχείο CSV
Τώρα, μπορείτε να φορτώσετε το αρχείο CSV στο Python pandas χρησιμοποιώντας τη συνάρτηση read_csv(). Απλά περάστε τη διαδρομή του αρχείου στη συνάρτηση. Στον παρακάτω κώδικα, θα χρησιμοποιήσουμε ένα αρχείο με το όνομα data.csv, το οποίο είναι αποθηκευμένο στον ίδιο κατάλογο με το σενάριο:
df = pd.read_csv('data.csv')pythonΟ παραπάνω κώδικας αποθηκεύει το αρχείο σε ένα αντικείμενο DataFrame (df), με το οποίο θα μπορούμε στη συνέχεια να εργαστούμε. Το Pandas θα ερμηνεύσει αυτόματα την πρώτη σειρά ως κεφαλίδες στηλών, εκτός αν ορίσετε διαφορετικά.
Βήμα 3: Εμφάνιση του αρχείου CSV
Είναι καλή ιδέα να ρίξετε μια ματιά στις πρώτες σειρές του DataFrame για να βεβαιωθείτε ότι το αρχείο έχει φορτωθεί σωστά. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση DataFrame.head() για αυτό. Από προεπιλογή, εμφανίζει τις πρώτες πέντε σειρές του DataFrame, δίνοντάς σας μια γρήγορη επισκόπηση της δομής των δεδομένων:
print(df.head())pythonΤο αποτέλεσμα έχει την εξής μορφή:
0 1 John Avery 35 Nottingham 50000
1 2 Adelaide Smith 29 London 62000
2 3 Michael Rivera 41 Cardiff 40000
3 4 Grace Kim 33 Hull 35000
4 5 Tyler Johnson 28 Kent 52000Βήμα 4: Αλλάξτε τα ονόματα των στηλών (προαιρετικό)
Εάν το αρχείο CSV δεν έχει γραμμή κεφαλίδας, μπορείτε να ορίσετε τα ονόματα των στηλών χειροκίνητα:
df = pd.read_csv('data.csv', header=None, names=['ID', 'Name', 'Age', 'City', 'Salary'])pythonΣε αυτό το παράδειγμα, ονομάσαμε τις στήλες ID, Όνομα, Ηλικία, Πόλη και Μισθός. Το αποτέλεσμα έχει την εξής μορφή:
ID Name Age City Salary
0 1 John Avery 35 Nottingham 50000
1 2 Adelaide Smith 29 London 62000
2 3 Michael Rivera 41 Cardiff 40000
3 4 Grace Kim 33 Hull 35000
4 5 Tyler Johnson 28 Kent 52000