XLSX do CSV w Pythonie

Xlsx Do Csv W Pythonie



W ostatnich latach Python stał się jednym z dominujących języków programowania. Społeczność Pythona znacznie się powiększyła w wyniku popularności i użyteczności Pythona. W tym artykule omówimy szczegółowo, jak używać Pythona do konwersji XLSX na CSV. Zdajemy sobie sprawę, że pliki Excel są często używane do przeprowadzania analiz finansowych, organizowania danych, wprowadzania danych, księgowania, zarządzania danymi, tworzenia wykresów i wykresów itp. Jednak najczęściej wolimy używać plików CSV do importu i eksportu danych. Jednym ze sposobów jest przesłanie uporządkowanych danych za pomocą zwykłego pliku tekstowego.

Co to jest plik Xslx?

Podczas tworzenia arkuszy kalkulacyjnych w najnowszych wersjach programu Excel firma Microsoft używa pliku XLSX jako domyślnego typu pliku. Podobnie jak w przypadku pliku typu DOCX programu Word, możemy otwierać pliki XLSX przy użyciu różnych aplikacji / programów.

Co to jest plik CSV?

Format pliku CSV jest tym, czego możemy użyć do przechowywania wartości danych tabelarycznych w arkuszach kalkulacyjnych i bazach danych. Dane tabelaryczne, tekst lub tekst, są przechowywane jako zwykły tekst w pliku CSV. Rekord w pliku CSV to wartość danych przechowywana w każdym wierszu pliku. Każdy rekord może mieć więcej niż jedno pole oddzielone przecinkami.







Kluczowe różnice między plikami XLSX a CSV

Użytkownicy często używają CSV i XLSX zamiennie i na ogół nie są świadomi różnic między nimi, ich podstawowych cech i sposobu działania. Służy jedynie jako źródło informacji dla użytkownika. Prawie każda firma i korporacja używa obu, aby pomóc użytkownikom w zarządzaniu, aktualizowaniu i przechowywaniu danych dla użytkownika. Oto kilka kluczowych różnic między plikami XLSX i CSV, o których powinieneś wiedzieć:



  • Format CSV zapisuje dane tabelaryczne w pliku tekstowym separatora z rozszerzeniem .csv. Podczas gdy plik Excel lub XLSX to arkusz kalkulacyjny, który przechowuje pliki w swoim zastrzeżonym formacie, a mianowicie. xls lub XLSX.
  • Pliki programu Excel to pliki binarne zawierające dane z każdego arkusza w skoroszycie. Natomiast CSV to zwykły i prosty format tekstowy z sekwencją wartości danych oddzielonych przecinkami.
  • Na plikach CSV nie można wykonywać operacji na danych. Można je jednak przeprowadzić na plikach Excel.
  • Pliki CSV są szybsze i zużywają mniej pamięci niż pliki XLSX. Jednak program Excel zużywa więcej pamięci podczas importowania danych.
  • Jeśli porównamy CSV z Excelem, możemy otworzyć pliki CSV w dowolnym edytorze tekstu Windows, podczas gdy pliki Excela nie.

Jak można przekonwertować plik XLSX na CSV za pomocą Pythona?

Plik XLSX można przekształcić w plik CSV w Pythonie przy użyciu różnych metod. Python zawiera wiele modułów i funkcji, które mogą nam pomóc w wykonaniu tego zadania. Tutaj omówimy kilka metod, których można użyć do konwersji plików XLSX na pliki CSV w Pythonie.



Wymagania wstępne do przeprowadzenia konwersji programu Excel na CSV

Instalacja wymagań to pierwszy krok. W tym samouczku używamy modułów takich jak Combine Pandas, CSV i Openpyxl itp. Pakiet Pandas w Pythonie pozwala na manipulację i analizę danych. Pandas to dobrze znana biblioteka wśród programistów Pythona. Pliki programu Excel można odczytywać i zapisywać przy użyciu pakietu Pythona znanego jako Openpyxl. Nie będziemy zajmować się bezpośrednio tą biblioteką. Pandy zamiast tego używają Openpyxl wewnętrznie.





Korzystając z repozytorium PyPI możemy zainstalować oba pakiety:

Metoda 1: Konwersja XLSX do CSV przy użyciu modułu Pandas

Przykład 1: Konwertowanie jednego pliku XLSX na CSV



Pandas to moduł typu open source stworzony dla języka programowania Python w celu manipulowania i analizowania danych. Aby pracować z szeregami czasowymi i tabelami numerycznymi, Pandas zapewnia różnorodne funkcje i funkcje. Za pomocą pand można odczytywać, filtrować i porządkować zarówno małe, jak i duże zbiory danych. Wyniki można generować w różnych formatach, takich jak Excel, JSON i CSV. Używamy metody read_excel() Pandy do odczytu pliku Excela oraz metody to_csv() do przekształcenia DataFrame w plik CSV.

Drukujemy nasz plik .csv jako DataFrame, jak widać na wyjściu. Poprzedni skrypt konwertuje nasz plik XLSX do CSV i tworzy plik „salary.csv” w bieżącym katalogu.

Przykład 2: Konwersja pliku XLSX (z wieloma arkuszami) do CSV

W poniższym przykładzie najpierw odczytujemy nazwy arkuszy pliku Excel. Nazwy poszczególnych arkuszy są następnie zapętlane i zapisywane jako osobne pliki CSV. Skrypt zapisuje pliki CSV w tej samej lokalizacji.

Używamy przykładowego pliku XLSX zawierającego dwa lub więcej arkuszy roboczych lub arkuszy kalkulacyjnych.

Jak widać, nasz plik XLSX składa się z dwóch arkuszy (arkusz1 i arkusz2). Teraz piszemy kod, aby przekonwertować ten plik XLSX na CSV.

Wyjście:

Skrypt pomyślnie przekonwertował plik XLSX z dwoma arkuszami na pojedynczy plik CSV z jednym arkuszem.

Przykład 3: Konwertowanie wielu plików XLSX na osobne pliki CSV

Rozważ scenariusz, w którym musisz przekonwertować kilka plików programu Excel w swoim katalogu roboczym na plik CSV. Możesz zastosować tę metodę. Zaczynamy od założenia, że ​​każdy plik zawiera tylko jeden arkusz. Następnie rozszerzamy naszą metodę o obsługę wielu plików i kilku arkuszy. Poniższy kod Pythona wykorzystuje standardowy moduł glob. Dopasowujemy ścieżki plików za pomocą wzorców z Glob. Dopasowuje wszystkie pliki z rozszerzeniem .xlsx w katalogu roboczym. Następnie opracowujemy funkcję, która odczytuje pliki Excela i zapisuje je jako pliki CSV. Wywołujemy tę funkcję na każdej znalezionej ścieżce pliku.

Ten poprzedni skrypt konwertuje wszystkie pliki xlsx w bieżącym katalogu na pliki CSV.

Teraz konwertujemy pliki XLSX z wieloma arkuszami kalkulacyjnymi na CSV. To jest najprawdopodobniej najtrudniejsza część. W naszym katalogu roboczym znajdują się trzy pliki programu Excel. Ponadto niektóre z nich składają się z więcej niż jednego arkusza. Naszym celem jest:

  1. Utwórz katalog dla każdego pliku arkusza kalkulacyjnego,
  2. Przekonwertuj arkusze plików Excela na CSV i powinny one być przechowywane w nowo utworzonym katalogu.

Skrypt konwertuje XLSX z jednym i wieloma arkuszami na osobne pliki CSV i przechowuje je w nowych katalogach o tej samej nazwie.

Aby pobrać każdy plik Excel znajdujący się w bieżącym katalogu, używana jest funkcja glob. Następnie foldery są tworzone dla każdego pliku XLSX za pomocą funkcji os.mkdir. Plik CSV jest następnie tworzony dla każdego arkusza w nowym katalogu poprzez zapętlenie nazwy arkusza.

Metoda 2: Konwersja XLSX do CSV przy użyciu modułów Openpyxl i CSV

W tej metodzie użyjemy modułów openpyxl i CSV do konwersji plików XLSX na CSV. Aby odczytywać i zapisywać pliki 2010 xlsx, xlsm, xltx i xltm, można użyć modułu Pythona openpyxl. Moduł CSV zawiera klasy umożliwiające odczyt i zapis danych tabelarycznych w formacie CSV.

Aby odczytać lub załadować nasz plik xlsx, używamy funkcji load_workbook() modułu openpyxl. Możesz użyć tej funkcji, jeśli chcesz napisać lub odczytać istniejący plik XLSX/Excel w Pythonie. Po aktywacji excela używamy funkcji csv.writer() do stworzenia naszego pliku CSV. Następnie pętla for służy do przechowywania danych w komórkach danych pliku CSV. Konwertujemy nasz plik example.xlsx na myfile.csv, jak widać na poniższym obrazku:

Wniosek

W tym samouczku przedstawiliśmy krótkie wprowadzenie do plików XLSX i plików CSV. Wyjaśniliśmy kluczowe różnice między obydwoma formatami plików. Omówiliśmy dwie metody z wieloma przykładami, aby nauczyć, w jaki sposób pliki XLSX z jednym lub wieloma arkuszami można przekonwertować na pliki CSV. Zaimplementowaliśmy przykład konwersji wielu plików XLSX na pliki CSV jednocześnie. Konwersja danych z Excela do CSV może być prosta lub trudna. Jeśli masz tylko jeden plik z niewielką liczbą arkuszy, jest to proste. Ale jeśli nie, to może być trudne.