CSV Formatter

Formatera och normalisera CSV-data med anpassade avgränsaralternativ

Prova ett exempel

CSV-indata

Formaterad CSV

Körs lokalt · Säkert att klistra in hemligheter
Formaterad CSV visas här…
Utdataavgränsare:

Vad är CSV-formatering?

CSV-formatering (Comma-Separated Values) är processen att normalisera rå tabelltext så att avgränsare, citering, blanksteg och radslut följer ett konsekvent regelverk. RFC 4180, publicerad 2005, definierar den mest använda CSV-standarden: fält separerade med kommatecken, poster avslutade med CRLF, och varje fält som innehåller ett kommatecken, dubbelt citationstecken eller radbrytning omgivet av dubbla citationstecken. En CSV-formaterare tar rörig eller inkonsekvent CSV-data och skriver om den för att matcha dessa konventioner.

CSV-filer i verkligheten anländer sällan i rent skick. Kalkylbladsexporter från Excel, Google Sheets och databasdumpverktyg tillämpar var och en olika citeringsstrategier, hanterar blanksteg på olika sätt och kan använda semikolon eller tabbar istället för kommatecken. När du matar in dessa filer i en parser som förväntar sig strikt RFC 4180-indata blir resultatet ofta trasiga rader, förskjutna kolumner eller tyst dataförlust. Formatering innan bearbetning fångar dessa problem tidigt.

En CSV-formaterare skiljer sig från en CSV-konverterare. Formatering håller data i CSV-format. Den normaliserar citering, trimmar strykta blanksteg, justerar kolumner och byter avgränsare vid behov. Konvertering ändrar formatet helt och hållet och producerar JSON-, HTML-, SQL- eller Markdown-utdata.

Varför använda den här CSV-formateraren?

Det här verktyget parsar och serialiserar om din CSV helt i webbläsaren. Din data lämnar aldrig din maskin.

Omedelbar formatering
Klistra in CSV och se det rengjorda resultatet direkt. Formateraren parsar och serialiserar om i webbläsaren medan du skriver.
🔒
Integritetsbevarande bearbetning
All parsning och formatering sker i din webbläsarflik. Ingen data skickas över nätverket. Säkert för proprietära datamängder, inloggningsuppgifter och PII som inte får lämna din maskin.
🔧
Konfigurerbara avgränsare
Växla mellan komma-, tabb-, semikolon- och pipeavgränsare. Verktyget identifierar automatiskt indataavgränsaren och låter dig välja en annan för utdata, vilket gör normalisering mellan format enkelt.
📋
Kopiera och ladda ner med ett klick
Kopiera den formaterade CSV:en till urklipp eller ladda ner den som fil. Redo för import till databaser, kalkylblad eller datapipelines utan ytterligare redigering.

Användningsfall för CSV Formatter

Frontend-utveckling
Städa upp CSV-fixtursfiler som används som mockdata i React- eller Vue-komponenter. Konsekvent citering förhindrar parsningsfel under utvecklingsbyggen.
Backend-datainmatning
Normalisera CSV-exporter från tredjepartsAPI:er innan du matar in dem i din ETL-pipeline. Trimning av blanksteg och standardisering av avgränsare förhindrar kolumnförskjutningsfel.
DevOps och CI/CD
Formatera CSV-konfigurationsfiler eller seed-data incheckad i versionshantering. Konsekvent formatering minskar diff-brus och gör kodgranskningar snabbare.
QA och testning
Förbered CSV-testfixturar med kända citeringsmönster och avgränsarmönster. Reproducerbara indatafiler gör det enklare att skriva påståenden mot parserutdata.
Datateknik
Förbearbeta CSV-dumpar från äldre databaser innan du laddar dem till moderna datalager. Att åtgärda citeringsproblem och avgränsarfelmatchningar sparar timmar av felsökning.
Lärande och utbildning
Experimentera med RFC 4180-citeringsregler genom att klistra in olika indata och observera hur formateraren normaliserar dem. Ett praktiskt sätt att förstå CSV-kantefall.

CSV-citerings- och escaperegler (RFC 4180)

RFC 4180 definierar specifika regler för när och hur fält måste citeras. De sex scenarierna nedan täcker de fall där citeringsbeteende spelar roll.

ScenarioExempelRegel
Field contains delimitername,"Smith, Jr."Wrap in double quotes
Field contains newline"line1\nline2"Wrap in double quotes
Field contains double quote"She said ""hello"""Double the quote character
Field is empty,,Two consecutive delimiters
Field has leading spaces" value"Quotes preserve whitespace
Field is numeric42No quotes required unless forced

Jämförelse av CSV-avgränsare

Valet av avgränsare påverkar kompatibilitet, läsbarhet och hur ofta du behöver citerade fält.

Komma (,)
RFC 4180-standarden. Stöds av alla CSV-parsers och kalkylblad. Kräver citering när fältvärden innehåller kommatecken, vilket är vanligt i adress- och textdata.
Tabb (\t)
Används i TSV-filer (Tab-Separated Values). Tabbtecken förekommer sällan i fältdata, så citering behövs sällan. Vanligt inom bioinformatik och databasexporter.
Semikolon (;)
Standard i CSV-exporter för europeiska lokaler (Tyskland, Frankrike, Brasilien) där kommatecknet används som decimalavgränsare. Excel använder semikolon när systemets lokala inställning har kommadesimaler.
Pipe (|)
Ovanligt i naturlig text, vilket gör det till ett bra val för rörig data där kommatecken och semikolon förekommer i fältvärden. Vanligt i exporter från stordatorsystem och äldre system.

Kodexempel

Dessa exempel visar hur man parsar rörig CSV och serialiserar om den med konsekvent formatering i olika programmeringsspråk. Varje kodavsnitt hanterar trimning av blanksteg, normalisering av avgränsare och citering.

JavaScript (Node.js)
import { parse, unparse } from 'papaparse'

const messy = `name, age ,city
Alice , 30, Berlin
Bob,25 , " Tokyo "`

// Parse with trimming, then re-serialize with consistent formatting
const parsed = parse(messy, {
  header: true,
  skipEmptyLines: true,
  transformHeader: h => h.trim(),
  transform: v => v.trim(),
})

const clean = unparse(parsed.data, { quotes: true })
console.log(clean)
// → "name","age","city"
// → "Alice","30","Berlin"
// → "Bob","25","Tokyo"
Python
import csv
import io

messy = """name, age ,city
Alice , 30, Berlin
Bob,25 , " Tokyo " """

reader = csv.DictReader(io.StringIO(messy), skipinitialspace=True)
output = io.StringIO()
writer = csv.DictWriter(
    output,
    fieldnames=[f.strip() for f in reader.fieldnames],
    quoting=csv.QUOTE_ALL,
)
writer.writeheader()
for row in reader:
    writer.writerow({k.strip(): v.strip() for k, v in row.items()})

print(output.getvalue())
# → "name","age","city"
# → "Alice","30","Berlin"
# → "Bob","25","Tokyo"
Go
package main

import (
	"encoding/csv"
	"fmt"
	"strings"
)

func main() {
	input := "name,age,city\nAlice,30,Berlin\nBob,25,Tokyo"
	r := csv.NewReader(strings.NewReader(input))
	records, _ := r.ReadAll()

	var buf strings.Builder
	w := csv.NewWriter(&buf)
	w.UseCRLF = true // RFC 4180 line endings
	for _, record := range records {
		_ = w.Write(record)
	}
	w.Flush()
	fmt.Print(buf.String())
	// → name,age,city\r\n
	// → Alice,30,Berlin\r\n
	// → Bob,25,Tokyo\r\n
}
CLI (csvformat from csvkit)
# Re-format a CSV file with csvkit (Python-based)
csvformat -D ";" input.csv > output.csv

# Convert tabs to commas
csvformat -t input.tsv > output.csv

# Force-quote all fields
csvformat -U 1 input.csv > quoted.csv

# Using Miller (mlr) to normalize
mlr --icsv --ocsv --quote-all cat input.csv > clean.csv

Vanliga frågor

Vad gör en CSV-formaterare?
En CSV-formaterare parsar rå CSV-text, normaliserar citering kring fält, trimmar onödiga blanksteg och serialiserar om data med ett konsekvent avgränsare- och radslutsstil. Utdata är en ren CSV-fil som uppfyller RFC 4180 eller dina valda formateringsregler.
Hur skiljer sig CSV-formatering från CSV-validering?
Validering kontrollerar om en CSV-fil uppfyller ett regelverk och rapporterar fel. Formatering går längre: den skriver om filen för att åtgärda dessa problem. En validerare talar om för dig att rad 5 har ett ociterat kommatecken. En formaterare åtgärdar det genom att lägga till citationstecken runt fältet.
Varför behöver jag formatera CSV-filer innan jag importerar dem?
Databasimportverktyg, ETL-pipelines och kalkylblad har var och en lite olika CSV-parsningsregler. Ett ociterat fält med ett kommatecken i det delas upp i två kolumner i strikta parsers. Att formatera din CSV enligt RFC 4180 innan import förhindrar dessa kolumnförskjutningsfel och tyst datakorruption.
Skickas min data till en server när jag använder det här verktyget?
Nej. All parsning och formatering sker i din webbläsare med JavaScript. Din CSV-data stannar på din maskin och överförs aldrig via nätverket. Du kan verifiera detta genom att öppna webbläsarens Nätverksflik medan du använder verktyget.
Kan jag ändra avgränsare vid formatering?
Ja. Verktyget identifierar automatiskt indataavgränsaren (komma, tabb, semikolon eller pipe) och låter dig välja en annan avgränsare för utdata. Det är användbart när du konverterar mellan regionala CSV-format eller byter från TSV till standard-CSV.
Hur hanterar verktyget citerade fält med inbäddade radbrytningar?
Enligt RFC 4180 måste fält som innehåller radbrytningar omges av dubbla citationstecken. Formateraren bevarar dessa inbäddade radbrytningar och säkerställer att omgivande citationstecken finns. Om ett fält har en ociterad radbrytning i indata omger formateraren det med citationstecken vid omserialiseringen.
Vad är den maximala filstorleken det här verktyget kan hantera?
Eftersom verktyget körs i din webbläsare beror den praktiska gränsen på enhetens tillgängliga minne. Filer upp till 10–20 MB bearbetas normalt utan problem på moderna maskiner. För större filer är ett kommandoradsverktyg som csvkit eller Miller ett bättre alternativ.