Jak napisać listę do CSV w Pythonie

Jak napisać listę do CSV w Pythonie

Jeśli zmagasz się z listami Pythona i zastanawiasz się, jak zapisać je jako zgrabny plik CSV, jesteś we właściwym miejscu. Jednym z najczęstszych zadań w Pythonie jest zapisanie listy do pliku rozdzielonego przecinkami, a dzisiaj zrobimy z Ciebie profesjonalistę w tworzeniu plików CSV!

Aby napisać listę do pliku CSV w Pythonie, możesz użyć wbudowanego modułu o nazwie csv, który został zaprojektowany specjalnie do odczytywania i zapisywania plików CSV. Klasa csv.writer modułu udostępnia funkcje umożliwiające zapisywanie prostych i zagnieżdżonych list do plików CSV.

Inne metody uzyskania tego samego rezultatu obejmują instalowanie i używanie zewnętrznych modułów Pandas lub NumPy.

W tym artykule wyjaśniono koncepcje i przeprowadzi Cię krok po kroku przez proces ze wszystkimi przykładami kodu potrzebnymi do rozpoczęcia.

Chodźmy!

Spis treści

Czym są listy w Pythonie?

Jak napisać listę do CSV w Pythonie

Lista w Pythonie to wbudowana struktura danych, która służy do przechowywania wielu elementów w jednej zmiennej.

Listy Pythona to:

  • uporządkowane (zaczynając od zera).

  • zmienny (można modyfikować).

  • możliwość przechowywania zduplikowanych wartości.

Listy definiuje się, umieszczając wartości w nawiasach kwadratowych [], a pozycje oddziela się przecinkami. Elementy na liście mogą mieć dowolny typ danych, na przykład liczby, ciągi znaków, a nawet inne listy.

Oto przykład tworzenia prostej listy:

products = [“t-shirts”, “hoodies”, “jeans”]

Listy list w Pythonie

Listy list są również znane jako listy zagnieżdżone . Są to listy, które zawierają inne listy jako swoje elementy.

Są często używane w Pythonie do reprezentowania danych strukturalnych w wierszach i kolumnach. Są one często używane w scenariuszach, w których trzeba pogrupować powiązane dane.

Oto przykład tworzenia zagnieżdżonej listy reprezentującej produkty, ceny i sprzedaż.

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

Pliki CSV i moduł CSV w Pythonie

Pliki CSV reprezentują dane tabelaryczne w prostym formacie pliku. Każdy wiersz w pliku odpowiada wierszowi w tabeli. Każda wartość w wierszu (lub wierszu) jest oddzielona przecinkiem — dlatego format nosi nazwę „Wartości oddzielone przecinkami”.

Tak mógłby wyglądać plik reprezentujący produkty, ceny i sprzedaż w formacie CSV:

  • koszulki, 9,99, 342

  • bluzy, 24.99, 118

  • dżinsy, 29,99, 612

Jak napisać listę do CSV w Pythonie

Moduł csv to wbudowany moduł Pythona, który udostępnia narzędzia do odczytu i zapisu danych w formacie CSV. Jest to szczególnie przydatne ze względu na swoją prostotę i wydajność.

Importując moduł csv , uzyskujesz dostęp do klasy csv.writer() , która umożliwia utworzenie obiektu zapisu, który może zapisać rozdzielany ciąg znaków w obiekcie pliku.

W porządku, teraz, gdy omówiliśmy podstawy, przyjrzyjmy się, jak napisać prostą listę do pliku CSV przy użyciu Pythona w następnej sekcji.

Jak napisać prostą listę do pliku CSV w Pythonie

Pierwszą techniką, której należy się nauczyć, jest prosty (niezagnieżdżony) plik listy, który wygląda tak:

  • koszulki

  • bluzy

  • dżinsy

Jak napisać listę do CSV w Pythonie

Ogólne kroki, aby zapisać listę do pliku CSV to:

  1. Zaimportuj moduł csv .

  2. Utwórz listę Pythona.

  3. Otwórz plik CSV w trybie zapisu.

  4. Użyj funkcji writerow() obiektu pisarza csv .

  5. Zapisz i zamknij plik CSV.

Funkcja writerow () zapisze wiele wierszy, tj. wszystkie dane do pliku. Oto kod ze szczegółowymi komentarzami.

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

Korzystanie z menedżerów kontekstu

Jeśli nie znasz metody „z” pracy z plikami, jest to technika wykorzystująca menedżera kontekstu, który zarządza zasobami plików.

Na przykład, gdy używasz go do zapisywania plików CSV, pliki są automatycznie zamykane po zakończeniu instrukcji with.

Jak napisać listę list do pliku CSV

W przypadku listy list każda lista wewnętrzna powinna być wierszem CSV w pliku. Tak będą wyglądać dane CSV:

Jak napisać listę do CSV w Pythonie

Ogólne kroki są podobne do poprzednich sekcji, z tą różnicą, że używasz funkcji writerows() zamiast writerow() .

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

W tym drugim przykładzie każda lista wewnętrzna jest zapisywana jako osobny wiersz w pliku.

Zauważ, że moduł csv pozwala uniknąć konieczności wyliczania lub zapętlania struktury danych i zapisywania jej wiersz po wierszu.

Następnie przyjrzymy się, jak możesz dołączać dane do istniejących plików CSV.

Jak dołączyć dane do istniejących plików CSV

Jak napisać listę do CSV w Pythonie

Aby dołączyć dane do istniejącego pliku CSV, wykonaj następujące czynności:

  1. Zaimportuj moduł csv .

  2. Otwórz plik CSV w trybie dołączania („a”) za pomocą menedżera kontekstu with open() .

  3. Utwórz nową listę zawierającą dane do dołączenia.

  4. Utwórz obiekt csv.writer() przekazując otwarty plik.

  5. Użyj obiektu csv.writer() do zapisania nowej listy do pliku CSV.

Oto przykład, który pisze dodaje zagnieżdżoną listę (jeden wiersz) do istniejącego pliku:

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

Pamiętaj, aby dołączyć newline=” podczas otwierania pliku, aby zapewnić prawidłowe formatowanie pliku CSV na różnych platformach.

W następnej sekcji omówimy, jak możesz używać klasy DictWriter do zapisywania w plikach CSV.

Jak używać DictWriter do zapisywania plików CSV

Jak napisać listę do CSV w Pythonie

Do tej pory nauczyliśmy się zapisywać listy do plików CSV. Jednak Python ma inne struktury danych, takie jak słowniki , które można również zapisać w pliku CSV.

Klasa DictWriter () jest również częścią modułu csv . Jest podobna do klasy writer() , ale obsługuje dane słownikowe.

Oto przykład:

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

Zaawansowane techniki CSV w Pythonie

Korzystanie z modułu csv nie jest jedyną metodą eksportowania list Pythona jako plików CSV.

Dwie popularne biblioteki, które zapewniają funkcjonalność do tego zadania, to Pandas i NumPy .

1. Jak eksportować dane za pomocą Pand

Jak napisać listę do CSV w Pythonie

Pandas to powszechnie używana biblioteka Pythona do manipulacji i analizy danych.

Aby zapisać listy w Pythonie jako plik CSV, możesz utworzyć pandas DataFrame z listy, a następnie użyć metody to_csv() , jak pokazano poniżej:

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

Jeśli Twoje dane zawierają znaki spoza zestawu ASCII, może być konieczne ustawienie odpowiedniej wartości parametru kodowania, na przykład „utf-8”.

2. Jak używać NumPy do zapisywania list w formacie CSV

Kolejną biblioteką wartą rozważenia jest NumPy , która zapewnia wsparcie dla pracy z tablicami i macierzami.

NumPy oferuje funkcję np.savetxt() jako wygodną metodę zapisywania danych do pliku CSV.

Oto przykład pokazujący, jak zapisać listę do pliku CSV za pomocą NumPy:

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

Oto zestawienie parametrów savetxt() :

  • ogranicznik: określa separator pól

  • parametr fmt: wskazuje format zapisywanych danych

  • %s: symbol zastępczy dla wartości łańcuchowych

  • header : lista nagłówków kolumn

  • komentarze: kontroluj znaki rozpoczynające komentarze w pliku wyjściowym.

Jak wyczyścić dane przed zapisaniem do pliku

Dobrym pomysłem jest wyczyszczenie danych przed zapisaniem ich w plikach tekstowych. Ten film przedstawia techniki, których potrzebujesz:

Końcowe przemyślenia

Zapisanie listy do pliku CSV w Pythonie to prosty i skuteczny sposób przechowywania i udostępniania danych. Wiesz już, jak używać wbudowanego modułu csv Pythona do wykonania tego zadania.

Wiesz już, jak tworzyć listy w języku Python, importować moduł csv , otwierać plik CSV i używać narzędzia csv.writer do zapisywania listy w pliku CSV.

Poznałeś również bardziej złożone scenariusze zapisywania listy list do pliku CSV, który umożliwia przechowywanie danych tabelarycznych.

Nie zapominaj, że jak wszystko w programowaniu, praktyka czyni mistrza. Wykorzystaj więc tę nowo zdobytą wiedzę, baw się nią i zobacz, jak działa z różnymi zestawami danych i potrzebami projektu.

To tylko wierzchołek góry lodowej Pythona. W rozległym świecie Pythona jest o wiele więcej do odkrycia, więc nie poprzestawaj na tym. Ale na dzisiaj poklep się po plecach. Udało Ci się ujarzmić bestię konwersji list na CSV!


Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć