Jak czytać plik CSV w Python (Moduł, przykłady pand)

⚡ Inteligentne podsumowanie

A CSV file stores tabular data as plain text, with commas separating columns and newlines separating rows. Here you will learn to read and write CSV files in Python using the built-in csv module and the pandas library.

  • 📄 Co to jest: A CSV file stores tabular data as comma-separated plain text.
  • ???? csv.reader: csv.reader() reads rows from a CSV file as lists.
  • 📚 DictReader: csv.DictReader() reads each row into an ordered dictionary.
  • ✍️. csv.writer: csv.writer() and writerow() write rows to a CSV file.
  • 🐼 Pandy: pandas.read_csv() and to_csv() read and write CSV files in one line.
  • 🤖 Pomoc AI: AI tools like Copilot generate CSV read and write code instantly.

Read CSV File in Python

Co to jest plik CSV?

A Plik CSV to prosty typ pliku tekstowego, który wykorzystuje specyficzną strukturę do uporządkowania danych tabelarycznych. Standardowy format pliku CSV jest definiowany przez dane wierszy i kolumn, gdzie znak nowej linii kończy każdy wiersz i rozpoczyna następny wiersz, a każda kolumna jest oddzielona przecinkiem w wierszu.

CSV to powszechny format wymiany danych, ponieważ jest zwarty, prosty i ogólny. Wiele usług online umożliwia użytkownikom eksport danych tabelarycznych ze strony internetowej do pliku CSV. Pliki CSV zostaną otwarte w programie Excel, a prawie wszystkie bazy danych posiadają narzędzie umożliwiające import z plików CSV.

Przykładowy plik CSV

Dane w formie tabel nazywane są także CSV (wartości oddzielone przecinkami) – dosłownie „wartości oddzielone przecinkami”. Jest to format tekstowy przeznaczony do prezentacji danych tabelarycznych. Każda linia pliku jest jedną linią tabeli. Wartości poszczególnych kolumn oddzielane są symbolem separatora – przecinkiem (,), średnikiem (;) lub innym symbolem. CSV można łatwo odczytać i przetworzyć Python.

Rozważ poniższą tabelę

Dane tabeli

Język programowania Zaprojektowany przez Pojawiło się Rozbudowa
Python Guido van Rossum 1991 .py
Java Jakub Goslin 1995 .Jawa
C++ Bjarne Stroustrup 1983 .cpp

Możesz przedstawić tę tabelę w formacie CSV, jak poniżej.

Dane CSV

Język programowania, Zaprojektowany przez, Pojawił się, Rozszerzenie

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup, 1983, .cpp

Jak widać, każdy wiersz jest nową linią, a każda kolumna jest oddzielona przecinkiem. To jest przykład wyglądu pliku CSV.

Pobierz dane CSV

Python Moduł CSV

Python udostępnia moduł CSV do obsługi plików CSV. Aby odczytać/zapisać dane, musisz przejść przez wiersze pliku CSV. Aby uzyskać dane z określonych kolumn, należy użyć metody podziału.

Funkcje modułu CSV

W dokumentacji modułu CSV można znaleźć następujące funkcje:

  • csv.field_size_limit – zwraca maksymalny rozmiar pola
  • csv.get_dialect – pobierz dialekt powiązany z nazwą
  • csv.list_dialects – pokaż wszystkie zarejestrowane dialekty
  • csv.reader – odczytuje dane z pliku csv
  • csv.register_dialect – skojarz dialekt z nazwą
  • csv.writer – zapis danych do pliku csv
  • csv.unregister_dialect – usuń dialekt powiązany z nazwą rejestru dialektów
  • csv.QUOTE_ALL – Cytuj wszystko, niezależnie od rodzaju.
  • csv.QUOTE_MINIMAL – Cytuj pola ze znakami specjalnymi
  • csv.QUOTE_NONNUMERIC – Podaj wszystkie pola, które nie są wartościami liczbowymi
  • csv.QUOTE_NONE – Nie cytuj niczego w wynikach

W tym samouczku skupimy się wyłącznie na funkcjach odczytu i zapisu, które pozwalają edytować, modyfikować i manipulować danymi w pliku CSV.

Jak odczytać plik CSV w Python

Poniżej znajdują się kroki umożliwiające wczytanie pliku CSV Python.

Krok 1) Aby odczytać dane z plików CSV należy skorzystać z funkcji czytnika i wygenerować obiekt czytnika.

Funkcja czytnika została opracowana tak, aby pobierać każdy wiersz pliku i tworzyć listę wszystkich kolumn. Następnie musisz wybrać kolumnę, dla której chcesz mieć zmienne dane.

Brzmi to o wiele bardziej skomplikowanie, niż jest w rzeczywistości. Przyjrzyjmy się temu Python kod do odczytania pliku CSV, a przekonamy się, że praca z plikiem CSV nie jest taka trudna.

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

Krok 2) Kiedy wykonasz powyższy program, wynikiem będzie:

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

Jak wczytać plik CSV do słownika w Python

Możesz także użyć DictReadera do odczytu plików CSV. Wyniki są interpretowane jako słownik, w którym wiersz nagłówka jest kluczem, a pozostałe wiersze są wartościami.

Rozważ następujący kod

#import necessary modules
import csv

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

Wynikiem tego kodu jest:

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')])

Wczytaj plik CSV do słownika

I w ten sposób odczytanie danych z pliku CSV jest znacznie łatwiejsze niż wcześniejsza metoda. Nie jest to jednak najlepszy sposób odczytywania danych.

Jak zapisać plik CSV w Python

Oto jak zapisać plik CSV Python:

Jeśli masz zestaw danych, który chcesz zapisać w pliku CSV, musisz użyć funkcji write(). Aby iterować dane po wierszach (linii), musisz użyć funkcji writerow().

Rozważmy następujący przykład. Zapisujemy dane do pliku „writeData.csv”, gdzie ogranicznikiem jest 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'])

Wynik w pliku csv to:

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

zapisz plik CSV Python

Przeczytaj plik CSV za pomocą Pand

Pandas to biblioteka typu open source, która umożliwia importowanie plików CSV Python i przeprowadzać manipulację danymi. Pandy umożliwiają łatwe tworzenie, manipulowanie i usuwanie danych.

Musisz zainstalować bibliotekę pand za pomocą polecenia pip install pandas . W Windows, wykonasz to polecenie w wierszu poleceń w systemie Linux w terminalu.

Odczyt pliku CSV do ramki DataFrame pandy jest bardzo szybki i łatwy:

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

Wynik przeczytaj CSV Pandy przykład:

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

Bardzo przydatna biblioteka. W zaledwie trzech linijkach kodu uzyskasz taki sam wynik jak wcześniej. Pandy wiedzą, że pierwsza linia pliku CSV zawiera nazwy kolumn i użyje ich automatycznie.

Zapisz plik CSV za pomocą Pand

Pisanie do pliku CSV za pomocą Pandas jest tak proste jak czytanie. Tutaj możesz się o tym przekonać. Najpierw musisz utworzyć DataFrame na podstawie następujących Python napisz do kodu 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)

Oto wynik

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

Plik CSV jest tworzony w określonej lokalizacji.

Zapisz plik CSV za pomocą Pand

FAQ

A CSV (comma-separated values) file is a plain text file that stores tabular data. Each line is a row, and commas separate the values in each column.

Import the csv module, open the file, and pass it to csv.reader() to loop over rows as lists. Alternatively, use csv.DictReader() to read each row as a dictionary.

Open a file in write mode, create a csv.writer(), and call writerow() for each row or writerows() for many. The writer handles quoting and delimiters for you.

csv.DictReader() reads a CSV file into ordered dictionaries, using the header row as keys. This lets you access each value by column name instead of by index.

Call pandas.read_csv(‘file.csv’), which loads the CSV into a DataFrame in a single line. Pandas automatically uses the first row as column headers.

AI assistants like GitHub Copilot autocomplete csv and pandas calls, generate read and write loops, and suggest the right delimiter or quoting option from a short description.

Yes. AI-powered tools can automate parsing, cleaning, and converting CSV data, generate pandas pipelines, and add error handling for malformed rows or missing columns.

Use the built-in csv module for simple, lightweight reading and writing. Choose pandas when you need to filter, transform, or analyze large CSV datasets efficiently.

Podsumuj ten post następująco: