आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
यहाँ आप TSV को XLSX में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।
एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।
ये एक के बाद एक बदलती हैं और साथ में एक ZIP बनकर उतरती हैं।
TSV से XLSX
सीक्वेंसिंग पाइपलाइन, डिफ़रेंशियल एक्सप्रेशन टेबल, एनोटेशन फ़ाइलें, इंस्ट्रूमेंट लॉग, सर्च कंसोल डाउनलोड और विज्ञापन प्लैटफ़ॉर्म रिपोर्ट सब टैब-सीमांकित निकलते हैं, और ज़्यादातर कोई दूसरा विकल्प नहीं देते। टैब चुना गया क्योंकि जीन विवरण, कैंपेन नाम और पेज शीर्षक कॉमा से भरे होते हैं।
यह काम की फ़ॉर्मेट नहीं है। फ़ाइल कोई कॉलम प्रकार, चौड़ाई, फ़्रीज़ पेन या आगे होने वाली चीज़ के ख़िलाफ़ कोई बचाव नहीं ढोती, और आगे यह होता है कि कोई इसे Excel में खोलता है क्योंकि विश्लेषण वहीं होना है। खोलना ही ख़तरनाक क़दम है, और यह बदलाव उसी की जगह लेता है।
टेक्स्ट आयात करते वक़्त Excel हर मूल्य पर अपनी व्याख्या लगाता है, और उसमें एक बहुत चौड़ा जाल फैलाने वाला तारीख़ पार्सर शामिल है। `1-2` जनवरी की दूसरी तारीख़ बन जाता है। `MARCH1` और `SEPT1` तारीख़ बन जाते हैं। लंबी अंक श्रृंखलाएँ अपने शुरुआती शून्य खो देती हैं और बहुत लंबी वैज्ञानिक नोटेशन में दोबारा दिखती हैं।
यह कोई अफ़वाह या पुराना बग नहीं है। इसे जीनोमिक्स साहित्य में बड़ी संख्या में प्रकाशित सप्लीमेंट्री टेबल पर असर डालते हुए मापा गया, और आख़िरकार इसका जवाब स्प्रेडशीट ठीक करने से नहीं बल्कि इंसानी जीनों के एक समूह का नाम बदलकर दिया गया — यह बताता है कि एक बार हो जाने पर इसे पलटना कितना मुश्किल है।
बदलाव टैब-सीमांकित फ़ाइल पढ़ता है और वर्कबुक लिखता है, और कहीं भी Excel का तारीख़ पार्सर नहीं चलाता। `1-2` का मूल्य चार अक्षर `1-2` ही रहता है, `SEPT1` वही रहता है, और `2024-03-11` वही स्ट्रिंग रहता है। हर एक सेल में अक्षर की तरह लिखा जाता है, सेल अपने साथ अपना प्रकार ढोता है।
यही आख़िरी हिस्सा इस बचाव को टिकाऊ बनाता है। XLSX सेल दर्ज करता है कि उसमें किस तरह का मूल्य है, इसलिए Excel वर्कबुक खोलते वक़्त वही दिखाता है जो वहाँ है, दोबारा पार्स किए बिना। यह बदलाव सिर्फ़ बिना-प्रकार वाले पाठ को आयात करते वक़्त होता है, और जब तक वर्कबुक Excel तक पहुँचती है तब तक कोई बिना-प्रकार पाठ बचा ही नहीं होता।
यह हर चीज़ को व्याख्या करने से पूरी तरह इनकार नहीं है, और उसे ऐसा दिखाना बेईमानी होगी। जो फ़ील्ड सीधे संख्या जैसी दिखे वह संख्या वाली सेल बनती है, जो गिनती, p-मूल्य, फ़ोल्ड चेंज, इंप्रेशन और लागत के लिए ठीक चाहिए — वे छाँटने और गणना के लिए तैयार आती हैं।
क़ीमत शुरुआती शून्य वाले कोड पर पड़ती है। `00123` 123 बन जाता है, और प्लेट स्थिति या भीतरी संदर्भ जो अपनी पैडिंग पर निर्भर हो वह उसे खो देता है। अगर ऐसे कॉलम मायने रखते हैं, तो बचाव स्रोत में है: उद्धृत कॉलम, या ग़ैर-संख्यात्मक उपसर्ग वाला निर्यात अक्षर के रूप में ही आता है।
वही इनकार जो `1-2` को बचाता है असली तारीख़ वाले कॉलम पर भी लागू होता है: `2024-03-11` अक्षर की तरह लिखा जाता है, तारीख़ मूल्य की तरह नहीं, इसलिए यह कालानुक्रमिक रूप से नहीं छँटेगा जब तक इसे Excel के भीतर ख़ुद बदला न जाए।
यह जान-बूझकर किया गया व्यापार है, और यह सही दिशा में है। किसी कॉलम को अक्षर से तारीख़ में बदलना Excel में एक ऐसी क्रिया है जो आप किसी देखे हुए कॉलम पर सोच-समझकर करते हैं। ग़लती से तारीख़ बना दिया गया कॉलम वापस पहचान में बदलना बिलकुल मुमकिन नहीं।
टैब-सीमांकित फ़ाइल एक तालिका रखती है, इसलिए वर्कबुक में एक वर्कशीट है। इसका नाम फ़ाइल से एक्सटेंशन हटाकर आता है, 31 अक्षरों तक काटा हुआ, जो शीट नाम की इजाज़त है।
हेडर पंक्ति शीट की पहली पंक्ति बनती है और कॉलम तय कर देती है: हर बाद की पंक्ति उसी के हिसाब से चलती है, इसलिए बीच में कहीं आया अतिरिक्त फ़ील्ड अपना कॉलम नहीं पाता — उसका बचा हुआ मूल्य `__parsed_extra.0` नाम के कॉलम में इकट्ठा हो जाता है, जो शीट का यह बताने का तरीक़ा है कि निर्यात असमतल है।
एक वर्कशीट में हेडर सहित 1,048,576 पंक्तियाँ आती हैं, और 16,384 कॉलम। यह इस बदलाव की नहीं, फ़ाइल फ़ॉर्मेट की सीमा है, और कोई भी औज़ार बड़ी शीट नहीं लिख सकता।
एक्सप्रेशन मैट्रिक्स, इवेंट लॉग और पूरे कीवर्ड निर्यात यह रेखा अक्सर पार करते हैं। तब ईमानदार जवाब यह है कि स्प्रेडशीट ग़लत औज़ार है, बड़ा कन्वर्टर नहीं चाहिए: बदलने से पहले तालिका को फ़िल्टर या जोड़िए, या उसी फ़ाइल को Parquet में लेकर DuckDB या pandas में क्वेरी कीजिए।
लाइन-ब्रेक वाला विवरण या नोट कॉलम टैब-सीमांकित फ़ाइल में सचमुच असुरक्षित है: पंक्ति वहीं ख़त्म हो जाती है जहाँ मूल्य को जारी रहना था, और आगे की हर गिनती ग़लत हो जाती है। किसी मूल्य में पेस्ट हुआ टैब भी वही चुपचाप करता है।
वर्कबुक में ऐसी कोई नाज़ुकी नहीं। सेल के भीतर लाइन-ब्रेक बस लाइन-ब्रेक ही है, और टैब एक सामान्य अक्षर है। अगर कोई TSV निर्यात औज़ारों के बीच अलग-अलग पंक्ति गिनती दे रहा है, तो इसे बदलना एक अच्छा निदान भी है।
दोनों हिस्से इसी पन्ने पर चलते हैं: टैब-सीमांकित पार्सर सादा JavaScript है और स्प्रेडशीट लेखक मांग पर लोड होने वाली लाइब्रेरी है। कोई अनुरोध फ़ाइल नहीं ढोता, इसलिए अप्रकाशित नतीजा सेट, किसी ग्राहक का कैंपेन डेटा या मरीज़-जुड़ी तालिका खोलने के लिए किसी तीसरे पक्ष को कॉपी नहीं होती।
सीमा योजना की नहीं, याददाश्त की है। पूरी तालिका एक साथ रखी जाती है जब तक वर्कबुक जुड़ न जाए, इसलिए कुछ दर्जन मेगाबाइट बिना दिक़्क़त बदल जाते हैं और कुछ सौ पर ब्राउज़र टैब पर दबाव पड़ने लगता है।
रखिए अगर अगला क़दम कोई स्क्रिप्ट है। R इसे `read.delim` से पढ़ता है, pandas `sep="\t"` से, और दोनों कॉलम प्रकार साफ़ घोषित करने देते हैं, जो किसी भी बदलाव से मज़बूत गारंटी है। वर्कबुक उस पाइपलाइन में कुछ नहीं जोड़ती और उसे डिफ़ करने की क्षमता ले लेती है।
आर्काइव कॉपी की तरह हर हाल में रखिए। बदलाव संख्या जैसे दिखने वाले मूल्यों को संख्या पढ़ता है, इसलिए वर्कबुक निर्यात का बाइट-सटीक रिकॉर्ड नहीं, और मूल फ़ाइल ही यह तय कर सकती है कि किसी कॉलम में असल में क्या था।
| TSV | XLSX | |
|---|---|---|
| पूरा नाम | Tab-Separated Values | Excel वर्कबुक |
| फ़ाइल एक्सटेंशन | .tsv, .tab | .xlsx |
| मीडिया टाइप | text/tab-separated-values | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| पहली बार प्रकाशित | 1993 | 2007 |
| प्रकाशक | — | Microsoft |
| विनिर्देश | IANA text/tab-separated-values | ECMA-376 |
| लाइसेंस | खुला मानक | खुला मानक |
| आज की स्थिति | मौजूदा | मौजूदा |
| ब्राउज़र में खुलता है | कोई ब्राउज़र नहीं | कोई ब्राउज़र नहीं |
| इसकी जगह विचारणीय | CSV, JSON | CSV, ODS, Parquet |
Microsoft Excel और LibreOffice Calc TSV और XLSX — दोनों पढ़ लेते है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।
दोनों का निशाना अलग काम है: TSV का प्रोग्रामों के बीच डेटा ले जाना पर, XLSX का एडिटिंग पर। इस पर सोचना बनता है, क्योंकि जिस वजह से एक मौजूद है, आम तौर पर उसी वजह से दूसरा असुविधाजनक होता है।
TSV 1993 में आया। यह IANA text/tab-separated-values में तय किया गया है, और अगर फ़ाइल को उस औज़ार से ज़्यादा जीना है जिसने उसे लिखा, तो यह बात क़ीमती है।
XLSX Microsoft का है और 2007 से चला आ रहा है, और ECMA-376 में तय किया गया है। Microsoft Excel, LibreOffice Calc और Google Sheets इस फ़ॉर्मेट को पढ़ लेते है।
नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो। इस जोड़ी के पीछे SheetJS है, JavaScript में लिखा स्प्रेडशीट का एक पाठक और लेखक; आपका ब्राउज़र इसे एक बार उतारता है और फिर सहेज कर रखता है।
हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100। SheetJS आपकी अपनी मशीन पर उतरता है और वहीं चलता है — इसीलिए उस पर कोई गिनती नहीं है।
नहीं। XLSX वही सामग्री बिना कुछ फेंके सँभालता है: नतीजा गुणवत्ता में असली फ़ाइल जैसा ही होता है।
कन्वर्ज़न के लिए नहीं: वह उसी ब्राउज़र में होता है जो आपने पहले से खोल रखा है। नतीजा खोलने के लिए उसके बाद वही प्रोग्राम चाहिए जिससे आपका डिवाइस Excel Workbook आम तौर पर दिखाता है।