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

Konwertuj CSV do TSV

orders.csv· DANE PRZYKŁADOWE15 wierszy · 8 kolumn
Przed wartościami zaczynającymi się od = + - @ dodawany jest znak ', dzięki czemu arkusz kalkulacyjny pokaże je jako tekst. Zwykłe liczby, np. -12.5, pozostają bez zmian.
order_id	customer	city	product	quantity	unit_price	order_date	status
001041	Nikodem Kamiński	Poznań	Desk lamp	7	195.66	2026-01-06	paid
001042	Antoni Szymański	Wrocław	Chair, ergonomic	5	106.18	2026-02-07	refunded
001043	Franciszek Kamiński	Gdańsk	USB-C cable	1	142.78	2026-03-19	pending
001044	Nikodem Lewandowski	Gdańsk	Coffee beans 1kg	3	155.57	2026-04-26	shipped
001045	Aleksander Nowak	Kraków	Desk lamp	9		2026-05-25	pending
001046	Antoni Kowalski	Szczecin	Notebook A5	6	234.47	2026-06-16	pending
001047	" Maja Kamiński "	Wrocław	Coffee beans 1kg	6	239.01	2026-07-02	pending
001048	Julia Wójcik	Gdańsk	USB-C cable	8	212.47	2026-08-02	paid
001049	Zofia Wójcik	Szczecin	Chair, ergonomic	1	29.67	2026-09-08	refunded
001050	Aleksander Wójcik	Poznań	Desk lamp	7	61.38	2026-01-17	shipped
001051	Jakub Nowak	Kraków	Chair, ergonomic	3	76.09	2026-02-20	paid
001052	Jan Wójcik	Poznań	"Monitor 27"""	4	57.81	2026-03-01	refunded
001053	Alicja Dąbrowski	Lublin	Desk lamp	9	110.39	2026-04-07	pending
001054	Hanna Kowalski	Wrocław	Notebook A5	5	36.16	2026-05-11	paid
001043	Franciszek Kamiński	Gdańsk	USB-C cable	1	142.78	2026-03-19	pending

15 wierszy · 1 plik

Otwórz lub wklej plik CSV, a w podglądzie pojawi się TSV; Pobierz TSV zapisuje go jako plik .tsv. Przecinki wewnątrz wartości nie wymagają w TSV cudzysłowów, więc większość wierszy to zwykły tekst rozdzielany tabulatorami. Jedyna prawdziwa decyzja dotyczy tabulatorów i podziałów wiersza wewnątrz wartości: ująć wartość w cudzysłów dla Excela i pandas, zapisać sekwencje z ukośnikiem dla PostgreSQL albo zastąpić je spacją dla ścisłych czytników TSV. Plik jest konwertowany w Twojej przeglądarce i nigdy nie jest wysyłany na serwer.

Jak przekonwertować CSV do TSV

  1. Otwórz plik .csv, .tsv lub .txt, upuść go na narzędzie albo wklej wiersze. Ogranicznik jest wykrywany automatycznie; w razie potrzeby ustaw go albo starsze kodowanie, np. Windows-1250 lub Windows-1252, w sekcji Ustawienia importu.
  2. W polu Tabulatory i podziały wierszy w wartościach wybierz styl, którego oczekuje program odczytujący TSV. Następnie ustaw Znaki końca wiersza i Dołącz wiersz nagłówka.
  3. Wybierz Kodowanie wyniku i kliknij Pobierz TSV albo Kopiuj, aby skopiować tekst.

Aby przekonwertować kilka plików CSV z tymi samymi ustawieniami, wybierz Tryb wsadowy: konwertuj kilka plików. Każdy plik jest odczytywany z automatycznym wykrywaniem ogranicznika i z wierszem nagłówka, a wyniki pobierasz razem jako jeden plik ZIP.

Co robi każda opcja

Ujmij wartość w cudzysłów (Excel, pandas)Ustawienie domyślne. Wartość zawierająca tabulator, podział wiersza, cudzysłów albo spację na początku lub końcu jest ujmowana w cudzysłów, a cudzysłowy wewnątrz są podwajane – według tych samych reguł co w CSV, tylko z tabulatorem jako ogranicznikiem. Wszystko inne jest zapisywane bez cudzysłowów.
Sekwencje z ukośnikiem \t \n (PostgreSQL)Nigdy nie używa cudzysłowów. Tabulator staje się \t, znak nowego wiersza \n, powrót karetki \r, a ukośnik wsteczny \\, więc każdy rekord mieści się w jednej linii. To format tekstowy, który odczytuje polecenie COPY w PostgreSQL; cudzysłowy są zapisywane jako zwykłe znaki.
Zastąp spacjami (ścisły TSV)Każdy tabulator, podział wiersza lub para CRLF wewnątrz wartości zamienia się w jedną spację, dzięki czemu plik spełnia regułę IANA, zgodnie z którą pola nie zawierają tabulatorów. Ukośniki wsteczne i cudzysłowy pozostają bez zmian. To zmienia dane, a narzędzie podaje, ilu wartości to dotyczyło.
Znaki końca wierszaWindows (CRLF) (domyślnie) lub Unix i macOS (LF) po każdym rekordzie, łącznie z ostatnim.
Dołącz wiersz nagłówkaWyłącz, aby zapisać tylko wiersze danych – np. przy dopisywaniu do istniejącej tabeli.
Chroń przed formułami arkuszaDomyślnie włączone. Wartości zaczynające się od =, +, -, @, tabulatora lub powrotu karetki dostają na początku znak ', dzięki czemu arkusz kalkulacyjny pokazuje je jako tekst. Zwykłe liczby, np. -12.5, pozostają bez zmian. Wyłącz tę opcję, gdy TSV trafia do bazy danych lub skryptu i musi zawierać wartości dokładnie w oryginalnej postaci.
Kodowanie wynikuUTF-8, UTF-8 z BOM (dla Excela), UTF-16 LE (ze znacznikiem BOM) lub Windows-1252. Przy Windows-1252 konwersja zatrzymuje się z komunikatem wskazującym znaki, których nie da się zapisać – dotyczy to m.in. polskich liter ą, ę, ł, ś, ż.

Jak traktowane są nietypowe dane

  • Przecinki w cudzysłowie w pliku CSV nie wymagają w TSV niczego: "Desk lamp, brass" staje się Desk lamp, brass.
  • Komórka wielowierszowa pozostaje jedną wartością. Przy cudzysłowach zajmuje kilka linii wewnątrz cudzysłowu; przy sekwencjach z ukośnikiem jest zapisywana w jednej linii jako Ships in 2 boxes\nfragile.
  • Zera wiodące i długie identyfikatory są zapisywane bez zmian: TSV nie ma typów, więc 00731 pozostaje 00731.
  • Przy sekwencjach z ukośnikiem ścieżka Windows, np. C:\temp, jest zapisywana jako C:\\temp, więc program dekodujący sekwencje odzyskuje oryginał.
  • Wiersz z większą liczbą wartości niż nagłówek dostaje dodatkowe kolumny o nazwach Column 4, Column 5…; krótszy wiersz jest uzupełniany pustymi wartościami. Puste nagłówki stają się Column 3, a powtórzone – name (2).

Rozwiązywanie problemów

  • Po wczytaniu wiersze dzielą się w połowie. Program odczytujący nie rozumie podziałów wiersza w cudzysłowie. Wybierz Sekwencje z ukośnikiem \t \n (PostgreSQL), jeśli dekoduje on sekwencje, albo Zastąp spacjami (ścisły TSV), jeśli nie.
  • Wartości zaczynają się od apostrofu. To działanie opcji Chroń przed formułami arkusza. Wyłącz ją przy imporcie do bazy danych lub skryptu.
  • Arkusz pokazuje kody z ukośnikiem. Komórka zawiera \n lub \t, bo arkusze kalkulacyjne nie dekodują sekwencji z ukośnikiem. Dla plików przeznaczonych do Excela lub LibreOffice użyj opcji Ujmij wartość w cudzysłów (Excel, pandas).
  • Wszystko trafia do jednej kolumny. Ogranicznik wejściowy został źle rozpoznany; ustaw go w sekcji Ustawienia importu i otwórz plik ponownie.

Limity i duże pliki

Pliki do 25 MB, 100 000 wierszy, 250 kolumn i 2 mln komórek otwierają się z podglądem na żywo. Większe pliki są konwertowane strumieniowo: plik jest odczytywany dwukrotnie we fragmentach – raz, aby znaleźć najszerszy rekord, i drugi raz, aby zapisać wynik – a pobrany plik obejmuje wszystkie wiersze w tej samej postaci, jaką pokazałby podgląd. Przycisk Kopiuj nie jest wtedy dostępny, a pojedynczy wynik może mieć najwyżej 4 GB.

W trybie strumieniowym plik jest dekodowany automatycznie (UTF-8 albo UTF-16, jeśli zaczyna się od znacznika BOM), a pierwszy wiersz jest traktowany jako nagłówek.

Konwersja odbywa się w tle w tej karcie; Anuluj ją przerywa. Aby zmienić ogranicznik, ale zachować cudzysłowy w stylu CSV, użyj narzędzia Formatowanie CSV; tabelę do wklejenia w dokumentacji utworzysz narzędziem CSV do Markdown.

Przykład

Lista zamówień z przecinkiem w cudzysłowie, dwuwierszową notatką i wartością przypominającą formułę, przekonwertowana z ustawieniami domyślnymi (Ujmij wartość w cudzysłów (Excel, pandas), ochrona przed formułami włączona; pokazano ze znakami końca wiersza LF). Przy opcji Sekwencje z ukośnikiem \t \n (PostgreSQL) notatka staje się jedną linią Ships in 2 boxes\nfragile, a wartość z formułą jest zapisywana bez cudzysłowów.

CSV
id,product,note
00731,"Desk lamp, brass","Ships in 2 boxes
fragile"
00732,Cable tidy,"=HYPERLINK(""x"")"
TSV
id	product	note
00731	Desk lamp, brass	"Ships in 2 boxes
fragile"
00732	Cable tidy	"'=HYPERLINK(""x"")"

Pytania i odpowiedzi

Czym różni się CSV od TSV?

Tylko ogranicznikiem i związanymi z nim konwencjami. TSV rozdziela pola tabulatorem, więc przecinki w wartościach nie wymagają cudzysłowów. Definicja IANA zabrania tabulatorów wewnątrz pól, dlatego narzędzia różnią się w tym, jak je zapisywać.

Którą opcję wybrać dla polecenia COPY w PostgreSQL?

Sekwencje z ukośnikiem \t \n (PostgreSQL), z wyłączoną ochroną przed formułami. Format tekstowy PostgreSQL domyślnie używa tabulatora jako ogranicznika i dekoduje \t, \n, \r oraz \\. Pusta wartość jest wczytywana jako pusty ciąg znaków, bo domyślnym znacznikiem NULL w tym formacie jest \N; aby wczytać puste wartości jako NULL, dodaj do opcji COPY NULL ''.

Czy mogę przekonwertować TSV z powrotem do CSV?

Tak: otwórz plik TSV w narzędziu Formatowanie CSV. Ogranicznik tabulator zostanie wykryty, a jako wynik możesz wybrać przecinek lub średnik. Sekwencje z ukośnikiem są odczytywane jako zwykłe znaki, a nie dekodowane.

Standardy i źródła