Przejdź do narzędzia
ViewCSV
Plik nie jest nigdzie wysyłany

Podziel plik CSV

orders.csv· DANE PRZYKŁADOWE15 wierszy · 8 kolumn
Części są kopiami oryginalnych rekordów bajt w bajt: cudzysłowy, znaki końca wiersza i znacznik BOM się nie zmieniają, a podział wiersza w cudzysłowie nigdy nie rozdziela rekordu.
Wybierz sposób podziału, a potem wyświetl listę części albo pobierz je jako ZIP.

Każdą część możesz też pobrać osobno z listy.

15 wierszy

Otwórz plik CSV i wybierz sposób podziału: stała liczba wierszy w pliku, maksymalny rozmiar pliku, liczba plików albo jeden plik na każdą wartość w kolumnie. Każda część jest kopią oryginalnych rekordów bajt w bajt, z powtórzonym nagłówkiem na początku, więc cudzysłowy, znaki końca wiersza, kodowanie i znacznik BOM pozostają bez zmian. Obejrzyj listę części, a potem pobierz je pojedynczo albo razem jako ZIP. Dzielić można także pliki większe niż 25 MB – i nic nie jest wysyłane na serwer.

Jak podzielić plik CSV

  1. Otwórz plik .csv, .tsv lub .txt, upuść go na narzędzie albo wklej wiersze. Pierwszy wiersz jest traktowany jako nagłówek.
  2. Wybierz kryterium podziału i podaj liczbę wierszy, maksymalny rozmiar w bajtach, liczbę plików albo kolumnę.
  3. Wyświetl listę części, aby zobaczyć nazwę, liczbę wierszy i rozmiar każdego pliku, a potem pobierz pojedynczą część albo wszystkie jako jeden plik ZIP.

Nazwy części pochodzą od nazwy oryginalnego pliku: z orders.csv powstają orders-part-001.csv, orders-part-002.csv… Plik .tsv zachowuje rozszerzenie .tsv. Archiwum ZIP nosi nazwę orders-parts.zip.

Sposoby podziału

Liczba wierszy w plikuKażda część dostaje tyle wierszy danych, a ostatnia – resztę. Nagłówek nie jest wliczany.
Maksymalny rozmiar plikuKażda część jest wypełniana całymi rekordami, dopóki kolejny nie przekroczyłby rozmiaru liczonego w bajtach, łącznie z nagłówkiem i znacznikiem BOM. Rekord nigdy nie jest dzielony na pół, więc pojedynczy rekord większy niż limit przerywa podział błędem, który go wskazuje.
Liczba plikówNarzędzie najpierw liczy rekordy, a potem umieszcza w każdej części tyle samo wierszy, z zaokrągleniem w górę (najwyżej 1000 plików). Z powodu zaokrąglenia plików może być mniej, niż podano: 5 wierszy podzielonych na 4 pliki daje części po 2, 2 i 1 wierszu.
Wartości w kolumnieWiersze są grupowane według dokładnej wartości w wybranej kolumnie, a każda wartość daje osobny plik orders-West.csv, orders-East.csv… w kolejności pierwszego wystąpienia. Wewnątrz każdej części wiersze zachowują pierwotną kolejność. Najwyżej 1000 różnych wartości.
Powtarzaj nagłówek w każdym plikuDomyślnie włączone. Wyłącz, aby nagłówek był tylko w pierwszej części – np. gdy części mają być później ponownie sklejone.

Jak traktowane są nietypowe dane

  • Wartości w cudzysłowie zawierające ogranicznik lub podziały wiersza pozostają w swoim rekordzie, odczytywanym zgodnie z RFC 4180. Wielowierszowy adres nigdy nie zostanie rozdzielony między dwie części.
  • Rekordy są kopiowane jako surowe bajty, bez ponownej analizy i zapisu: cudzysłowy, znaki końca wiersza i zera wiodące pozostają dokładnie takie same. Znacznik BOM UTF-8 z początku pliku jest zapisywany na początku każdej części, więc Excel nadal rozpoznaje każdą z nich jako UTF-8.
  • Puste wiersze między rekordami są pomijane. Jeśli ostatni rekord nie kończy się podziałem wiersza, część dostaje znak końca wiersza używany w pliku.
  • Wartości kolumny są porównywane dokładnie: West i west trafiają do osobnych plików. Ponieważ wiele systemów plików nie rozróżnia wielkości liter, drugi z nich otrzymuje nazwę orders-west-2.csv, zamiast nadpisać pierwszy.
  • W nazwach plików znaki takie jak / \ : * ? " < > | są zamieniane na _, nazwy są skracane do 60 znaków, a pusta wartość daje plik orders-empty.csv. Kolumna wartości na liście części pokazuje dokładnie, jaką wartość zawiera każdy plik.

Kodowania, które można dzielić

Podział działa bezpośrednio na bajtach, co jest bezpieczne dla UTF-8 i kodowań jednobajtowych, takich jak Windows-1252 czy Windows-1250. Plików UTF-16 nie da się podzielić w ten sposób – najpierw zapisz je jako UTF-8, np. narzędziem Formatowanie CSV. Pliki w Shift_JIS, GB18030, GBK i Big5 można dzielić, gdy ogranicznikiem jest przecinek, średnik lub tabulator, ale nie kreska pionowa, bo w tych kodowaniach bajt kreski pionowej może wystąpić wewnątrz znaku. Narzędzie informuje przed rozpoczęciem, jeśli pliku nie da się podzielić.

Rozwiązywanie problemów

  • Jeden rekord jest większy niż wybrany rozmiar części. Zwiększ maksymalny rozmiar – musi pomieścić nagłówek i największy pojedynczy rekord.
  • Ten podział dałby więcej niż 1000 plików. Zwiększ liczbę wierszy w pliku lub rozmiar albo wybierz mniejszą liczbę plików.
  • Ta kolumna ma więcej niż 1000 różnych wartości. Podziel według kolumny o mniejszej liczbie wartości, np. regionu zamiast klienta, albo najpierw przefiltruj plik.
  • Wartość w cudzysłowie nigdy się nie zamyka. Gdzieś w pliku otwarto cudzysłów, którego nie zamknięto, więc reszta pliku byłaby jednym rekordem. Znajdziesz go narzędziem Walidacja CSV.

Duże pliki i prywatność

Dzielenie nie jest ograniczone do 25 MB. Większy plik pokazuje podgląd pierwszych 200 wierszy, a podział odczytuje cały plik we fragmentach po 8 MB, więc zużycie pamięci pozostaje niskie. Części są przechowywane jako dane plików w przeglądarce, dopóki ich nie pobierzesz; praktycznym limitem jest wolne miejsce, z którego może korzystać przeglądarka.

Podział odbywa się w tle w tej karcie, a Anuluj go przerywa. Plik nigdy nie jest wysyłany na serwer. Aby z powrotem złożyć części, użyj narzędzia Łączenie plików CSV; aby zmniejszyć plik zamiast go dzielić, użyj narzędzia Kompresja CSV.

Przykład

Mały eksport zamówień ze znakami końca wiersza CRLF (pokazanymi tu jako zwykłe podziały wiersza) i wielowierszową notatką, podzielony na części po 2 wiersze z powtórzonym nagłówkiem. Podział wiersza w cudzysłowie pozostaje w zamówieniu A2, a ostatni rekord, który w pliku wejściowym nie miał podziału wiersza, dostaje znak końca wiersza CRLF używany w pliku.

CSV
order_id,region,note
A1,West,ok
A2,East,"two
lines"
A3,West,"a, b"
A4,,late
A5,east,ok
3 pliki
orders-part-001.csv (2 rows)
order_id,region,note
A1,West,ok
A2,East,"two
lines"

orders-part-002.csv (2 rows)
order_id,region,note
A3,West,"a, b"
A4,,late

orders-part-003.csv (1 row)
order_id,region,note
A5,east,ok

Pytania i odpowiedzi

Czy każda część otworzy się poprawnie w Excelu?

Tak, o ile poprawnie otwierał się oryginał: każda część ma ten sam nagłówek, ogranicznik i kodowanie, a także zachowuje znacznik BOM UTF-8, jeśli miał go oryginał.

Czy mogę dzielić według kolumny bez wiersza nagłówka?

Nie. Pierwszy wiersz jest zawsze odczytywany jako nagłówek, a kolumnę wybiera się po nazwie z nagłówka. Najpierw dodaj wiersz nagłówka, np. w edytorze CSV.

Dlaczego plików jest mniej niż podana liczba?

Opcja „Liczba plików” umieszcza w każdej części tyle samo wierszy, z zaokrągleniem w górę, więc wiersze mogą się skończyć przed ostatnim plikiem. 10 wierszy na 4 pliki daje 3, 3, 3 i 1, a 10 wierszy na 6 plików – pięć plików po 2 wiersze.

Standardy i źródła