(Py) Moduł CSV*

Moduł CSV

Operacje na pliku CSV

  • Csv.reader(file, delimiter=”ogranicznik„, skipinitialspace=boolean) – Zwraca zawartość pliku CSV w formie listy wielowymiarowej. Znaczenie opcjonalnych wartości:
    • Delimiter – Określa znak jaki będzie oddzielał poszczególne wartości w jednym wierszu.
    • Skipinitialspace – Usuwa znaki spacji z początku poszczególnych wartości.
  • Csv.DictReader(file, delimiter=”ogranicznik„, skipinitialspace=boolean) – Zwraca listę słowników, traktujący wartości pierwszego wiersza jako klucze względem zawartość innych wierszy. Znaczenie opcjonalnych wartości:
    • Delimiter – Określa znak jaki będzie oddzielał poszczególne wartości w jednym wierszu.
    • Skipinitialspace – Usuwa znaki spacji z początku poszczególnych wartości.
  • Csv.writer(file)

Pobranie danych z formatu CSV

Przykładowe wykorzystanie funkcji Writer / Reader:

import csv

# Otwarcie pliku CSV w trybie zapisu:
with open("devices.csv", mode="w") as file:
    csvwriter = csv.writer(file, delimiter=";")
    
    # Zapisanie nowych wartości w pliku CSV:
    csvwriter.writerow(["LDZ-1", "Łódź", "192.168.1.201"])    
    csvwriter.writerow(["WAW-1", "Warszawa", "192.168.1.202"])

# Otwarcie pliku CSV w trybie odczytu:
with open("add.csv", mode="r") as file:
    csvreader = csv.reader(file, delimiter=";")
    for row in csvreader:
        print(row)
Przykładowe wykorzystanie funkcji DictWriter / DictReader:

import csv

# Otwarcie pliku CSV w trybie zapisu:
with open("devices.csv", mode="w") as file:
    keys = ["Nazwa", "Lokalizacja", "Adres IP"]
    csvwriter = csv.DictWriter(file, delimiter=";", fieldnames=keys)

    # Zapisanie nowych wartości w pliku CSV:    
    csvwriter.writerow({"Nazwa":"LDZ-1", "Lokalizacja":"Łódź", "Adres IP":"192.168.1.201"})
    csvwriter.writerow({"Nazwa":"WAW-1", "Lokalizacja":"Warszawa", "Adres IP":"192.168.1.202"})

# Otwarcie pliku CSV w trybie odczytu:
with open("add.csv", mode="r") as file:
    csvreader = csv.DictReader(file, delimiter=";")
    for row in csvreader:
        print(row)

Pozostałe tematy związane z bibliotekami / modułami Python

Podstawowe

Rozszerzone

SQL

PyQt 5

Automatyzacja

Data Mining

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz