Pandas to_csv() – Konwertuj DataFrame na CSV

Pandas to_csv() – Konwertuj DataFrame na CSV

Wprowadzenie

Pandas to_csv() to potężna funkcja w bibliotece Pandas dla języka Python, która umożliwia łatwą konwersję DataFrame do pliku CSV (Comma-Separated Values). Pliki CSV są powszechnie stosowanym formatem do przechowywania i wymiany danych tabelarycznych, ponieważ są one łatwe do odczytu i zapisu przez różne aplikacje i systemy.

Konwersja DataFrame do pliku CSV jest często niezbędna, gdy chcemy wyeksportować dane do dalszej analizy lub udostępnić je innym. Funkcja to_csv() zapewnia elastyczną i wydajną metodę osiągnięcia tego celu. Oferuje szeroki zakres opcji dostosowywania, które pozwalają użytkownikom kontrolować wygląd i format wyjściowego pliku CSV.

Składnia

Składnia funkcji to_csv() jest następująca:

python
DataFrame.to_csv(filename, sep=',', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, errors='strict', date_format=None, quoting=None, quotechar='"', lineterminator=None, chunksize=None, tupleize_cols=True, date_unit='s', storage_options=None)

Parametry

Funkcja to_csv() przyjmuje następujące parametry:

* filename: Ścieżka i nazwa pliku CSV, do którego mają zostać zapisane dane DataFrame.
* sep: Znak separatora pól, domyślnie przecinek (,).
* na_rep: Wartość zastępcza dla wartości NaN w DataFrame, domyślnie jest to pusty ciąg (”).
* float_format: Formatowanie wartości zmiennoprzecinkowych, np. '%0.2f’.
* columns: Lista nazw kolumn, które mają zostać uwzględnione w pliku CSV. Jeśli jest pominięte, uwzględniane są wszystkie kolumny.
* header: Jeśli True, nagłówek z nazwami kolumn zostanie zapisany w pliku CSV.
* index: Jeśli True, indeks DataFrame zostanie zapisany w pliku CSV jako dodatkowa kolumna.
* index_label: Etykieta dla kolumny indeksu, domyślnie jest to 'index’.
* mode: Tryb otwierania pliku, domyślnie jest to 'w’ (nadpisywanie).
* encoding: Kodowanie znaków używane do zapisu pliku, domyślnie jest to kodowanie domyślne systemu.
* errors: Strategia obsługi błędów podczas kodowania, domyślnie jest to 'strict’ (podnosi wyjątek).
* date_format: Format dat używanych w DataFrame, domyślnie jest to format ISO.
* quoting: Styl cytowania wartości tekstowych, domyślnie jest to '”’.
* quotechar: Znak używany do cytowania wartości tekstowych, domyślnie jest to znak podwójnego cudzysłowu („).
* lineterminator: Znak separatora wierszy, domyślnie jest to znak nowej linii systemu.
* chunksize: Rozmiar kawałka danych, które mają zostać zapisane na raz, domyślnie jest to None (cały DataFrame).
* tupleize_cols: Jeśli True, wartości DataFrame, które są krotkami, zostaną serializowane do wartości CSV.
* date_unit: Jednostka czasu używana do konwersji dat, domyślnie jest to sekundy.
* storage_options: Opcje przechowywania dla usługi przechowywania chmury, gdy plik jest zapisywany w chmurze.

Przykład

Załóżmy, że mamy DataFrame o nazwie df, który chcemy przekonwertować na plik CSV. Możemy to zrobić za pomocą funkcji to_csv() w następujący sposób:

python
import pandas as pd

df.to_csv('data.csv')

Ten kod zapisze DataFrame df do pliku CSV o nazwie data.csv z domyślnymi ustawieniami.

Dostosowywanie pliku CSV

Funkcja to_csv() oferuje szereg opcji dostosowywania, które pozwalają użytkownikom kontrolować wygląd i format pliku CSV. Poniżej znajduje się kilka przydatnych opcji:

* Separator pól: Parametr sep pozwala określić znak separatora pól używanego w pliku CSV. Można użyć dowolnego znaku, np. średnika (;) lub tabulatora (\t).
* Warstwa wartości NaN: Parametr na_rep pozwala określić wartość zastępczą dla wartości NaN w DataFrame. Domyślnie jest to pusty ciąg (”), ale można użyć dowolnej wartości, np. 'brakuje’ lub 'brak danych’.
* Formatowanie wartości zmiennoprzecinkowych: Parametr float_format pozwala określić formatowanie wartości zmiennoprzecinkowych w pliku CSV. Można użyć dowolnego formatu liczbowego Python, np. '%0.2f’ dla wartości zaokrąglonych do dwóch miejsc po przecinku.
* Nagłówek: Parametr header określa, czy nagłówek z nazwami kolumn powinien zostać zapisany w pliku CSV. Domyślnie jest to True, ale można ustawić je na False, aby pominąć nagłówek.
* Indeks: Parametr index określa, czy indeks DataFrame powinien zostać zapisany w pliku CSV jako dodatkowa kolumna. Domyślnie jest to True, ale można ustawić je na False, aby pominąć indeks.

Zapis do usługi przechowywania w chmurze

Funkcja to_csv() obsługuje również zapisywanie plików CSV bezpośrednio do różnych usług przechowywania w chmurze, takich jak Amazon S3 i Google Cloud Storage. Aby to zrobić, należy przekazać słownik zawierający informacje o przechowywaniu w chmurze jako parametr storage_options. Na przykład:

python
storage_options = {
'key': 'AKIAIOSFODNN7EXAMPLE',
'secret': 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',
'bucket_name': 'my-bucket'
}

df.to_csv('s3://my-bucket/data.csv', storage_options=storage_options)

Ten kod zapisze DataFrame df do pliku CSV o nazwie data.csv w zasobie S3 o nazwie my-bucket.

Wnioski

Funkcja to_csv() w bibliotece Pandas jest potężnym narzędziem do konwersji DataFrame do pliku CSV. Oferuje szeroki zakres opcji dostosowywania, które pozwalają użytkownikom kontrolować wygląd i format wyjściowego pliku CSV. Dzięki możliwości łatwego eksportowania danych do usług przechowywania w chmurze, to_csv() jest wszechstronnym rozwiązaniem do przechowywania i udostępniania danych tabelarycznych.

Najczęściej zadawane pytania

1. Co to jest plik CSV?

Plik CSV (Comma-Separated Values) to format plików tekstowych, który przechowuje dane tabelaryczne. Każdy wiersz w pliku CSV reprezentuje rekord, a pola są oddzielane przecinkami.

2. Jakie są ograniczenia funkcji to_csv()?

Funkcja to_csv() nie obsługuje zapisywania obiektów binarnych, takich jak obrazy lub pliki PDF, do pliku CSV.

3. Czy mogę określić kolejność kolumn w pliku CSV?

Tak, można to zrobić za pomocą parametru columns funkcji to_csv().

4. Jak mogę zmienić separator pól na średnik?

Użyj parametru sep funkcji to_csv() i przekaż wartość średnika.

5. Jak mogę sformatować wartości zmiennoprzecinkowe na dwie cyfry po przecinku?

Użyj parametru float_format funkcji to_csv() i przekaż format '%0.2f’.

6. Jak mogę pominąć nagłówek w pliku CSV?

Ustaw parametr header funkcji to_csv() na False.

7. Jak mogę pominąć indeks w pliku CSV?

Ustaw parametr index funkcji to_csv() na False.

8. Czy można zapisać plik CSV bezpośrednio do usługi przechowywania w chmurze?

Tak, można to zrobić za pomocą parametru storage_options funkcji to_csv().

9. Jakie są zalety funkcji to_csv()?

* Łatwość użycia i elastyczność
* Szeroki zakres opcji dostosowywania
* Obsługa zapisu do usług przechowywania w chmurze
* Wysoka wydajność

**10. Jakie są wady funkcji to_csv