JSON லிருந்து CSV மாற்றி: முழு வழிகாட்டி
இந்தப் பக்கத்தில் நீங்கள் ஒரு JSON கோப்பைப் பதிவேற்றி (அல்லது இழுத்துப் போட்டு) அதை CSV கோப்பாக மாற்றலாம். நீங்கள் விரும்பும் பிரிப்பான் (delimiter) – கமா, அரைப்புள்ளி அல்லது தாவு – ஐத் தேர்ந்தெடுத்து, முன்காட்சி பார்த்து, மாற்றப்பட்ட கோப்பைப் பதிவிறக்கம் செய்யலாம். அனைத்து செயலாக்கமும் உங்கள் உலாவியிலேயே நடைபெறும் – எந்தத் தரவும் சேவையகத்துக்கு அனுப்பப்படுவதில்லை.
இந்தப் பக்கம் ஏன் வேறுபட்டது
CSV-to-Excel அல்லது Excel-to-JSON போன்ற மாற்றங்களைப் போலல்லாமல், இந்தத் திசை மாற்றம் ஒரு படிநிலை (hierarchical), வகைப்படுத்தப்பட்ட (typed) தரவு வடிவத்தை ஒரு தட்டையான, வகையற்ற (untyped) அட்டவணையாக மாற்றுகிறது. JSON ஆனது objects, arrays, numbers, booleans, மற்றும் null ஐ உள்ளமைந்த (nested) கட்டமைப்புகளில் ஆதரிக்கிறது. CSV க்கு வகைகள் இல்லை, உள்ளமைதல் இல்லை, தாள்கள் (sheets) இல்லை. மாற்றம் அனைத்து வகைத் தகவல்கள், உள்ளமைந்த கட்டமைப்பு, பல தாள்கள் (JSON இல் எதுவும் இல்லை), மற்றும் வடிவமைப்பு ஆகியவற்றை இழக்கிறது. உள்ளமைந்த JSON objects ஐ தட்டையான CSV இல் குறிப்பிட, கருவி object keys ஐ dot-path notation மூலம் சமப்படுத்துகிறது (எ.கா., address.city). Arrays of objects அட்டவணை வரிசைகளாக மாறும்; arrays of arrays வரிசைகளாக வைக்கப்படும். CSV பிரிப்பான்களைப் பயன்படுத்துவதால், உள்ளமைந்த கமாக்கள் மற்றும் வரி முறிப்புகள் மேற்கோள் குறிகளுக்குள் வைக்கப்பட வேண்டும் – கருவி இதை தானாகவே கையாளுகிறது, ஆனால் எண்களில் முன்னணி பூஜ்ஜியங்கள் இழக்கப்படலாம். நீங்கள் மாற்றும் முன் உள்ளமைந்த புலங்கள் எவ்வாறு குறிப்பிடப்பட வேண்டும் என்பதை முடிவு செய்ய வேண்டும் (கருவி இயல்பாக dot-paths ஐப் பயன்படுத்துகிறது).
உள்ளீடுகள் மற்றும் வெளியீடுகள்
உள்ளீடுகள்
- ஒரு JSON கோப்பு (ஏற்கத்தக்க வடிவங்கள்: CSV, JSON, XLSX – இங்கு JSON மட்டுமே பொருத்தமானது).
- பயனர் தேர்ந்தெடுக்கும் வெளியீட்டு வடிவம்: CSV.
- CSV பிரிப்பான்: கமா, அரைப்புள்ளி அல்லது தாவு.
வெளியீடுகள்
- பதிவிறக்கத்துக்குத் தயாரான CSV கோப்பு.
- மாற்றப்பட்ட அட்டவணையின் முன்காட்சி.
- வரிசைகளின் எண்ணிக்கை மற்றும் நெடுவரிசைகளின் எண்ணிக்கை.
- வெளியீட்டு கோப்பு அளவு.
JSON முதல் CSV: அடிப்படை வேறுபாடுகள் மற்றும் மாற்ற முறை
JSON (JavaScript Object Notation) என்பது ஒரு படிநிலை, வகைப்படுத்தப்பட்ட தரவு வடிவம். எடுத்துக்காட்டாக, ஒரு JSON object பின்வருமாறு இருக்கலாம்:
{
"name": "அரவிந்த்",
"age": 30,
"address": {
"city": "சென்னை",
"pincode": 600001
},
"hobbies": ["படித்தல்", "நீச்சல்"]
}
இங்கு age என்பது ஒரு எண் (number), address என்பது ஒரு உள்ளமைந்த object, hobbies என்பது ஒரு array. CSV இல் இதைப் பிரதிபலிக்க, நாம் பின்வரும் மாற்றங்களைச் செய்ய வேண்டும்:
-
வகைகளை இழத்தல்:
age30 எண்ணாக இருந்தாலும், CSV இல் அது"30"என்ற சரமாக (string) மாறும்.trueஎன்பது"true"ஆகும்.nullஎன்பது""(வெற்று சரம்) ஆக மாறும். இது முக்கியமான வகைத் தகவல் இழப்பு. -
படிநிலையை சமப்படுத்தல்:
addressஉட்பொருளை சமப்படுத்த, dot-path notation பயன்படுத்தப்படுகிறது.address.cityமற்றும்address.pincodeஎன்ற இரண்டு புதிய நெடுவரிசைகள் உருவாக்கப்படும். இதனால் மேலே உள்ள JSON object பின்வரும் CSV வரிசையாக மாறும்:name age address.city address.pincode hobbies அரவிந்த் 30 சென்னை 600001 ["படித்தல்","நீச்சல்"] hobbiesஒரு array ஆக இருப்பதால், அது முழுவதுமாக ஒரு சரமாக மேற்கோள் குறிகளுக்குள் வைக்கப்படும். Array க்குள் உள்ள elements பிரிக்கப்பட மாட்டாது, ஏனெனில் CSV ஒரு கலத்தில் பல மதிப்புகளை ஆதரிக்காது. -
Arrays of objects கையாளுதல்: JSON இல் objects இன் array இருந்தால், ஒவ்வொரு object ஒரு வரிசையாக மாறும். எடுத்துக்காட்டாக:
[ {"id": 1, "product": "புத்தகம்"}, {"id": 2, "product": "பேனா"} ]இது இரண்டு வரிசைகள் கொண்ட CSV ஆக மாறும், நெடுவரிசைகள்
idமற்றும்product. -
Arrays of arrays: JSON இல் arrays of arrays (எ.கா., [,]) இருந்தால், ஒவ்வொரு உள் array ஒரு வரிசையாக மாறும், உறுப்புகள் நெடுவரிசைகளாக மாறும். object keys இல்லை.
பிரிப்பான்கள் (Delimiters) மற்றும் மேற்கோள் விதிகள்
CSV கோப்புகளில் பிரிப்பான் மிகவும் முக்கியமானது. உங்கள் தரவில் கமாக்கள் இருந்தால், அரைப்புள்ளி அல்லது தாவு போன்ற வேறு பிரிப்பானைத் தேர்ந்தெடுப்பது உதவும். இந்த கருவி மூன்று பிரிப்பான்களை வழங்குகிறது:
- கமா (
,): பொதுவான CSV வடிவம். ஆனால் தரவில் கமா இருந்தால், அந்த மதிப்பு முழுவதையும் மேற்கோள் குறிகளுக்குள் ("...") இட வேண்டும். - அரைப்புள்ளி (
;): சில ஐரோப்பிய நாடுகளில் பயன்படுத்தப்படுகிறது, ஏனெனில் அவர்களின் மொழிகளில் கமா தசம புள்ளியாகப் பயன்படுகிறது. - தாவு (
\t): தாவு-பிரிக்கப்பட்ட மதிப்புகள் (TSV) – எளிய கட்டமைப்புகளுக்கு நல்லது.
மேற்கோள் விதிகள்: CSV தரநிலை (RFC 4180) படி, மதிப்பில் கமா, புதிய வரி, அல்லது இரட்டை மேற்கோள் குறி இருந்தால், முழு மதிப்பும் இரட்டை மேற்கோள் குறிகளுக்குள் இடப்பட வேண்டும். மேலும், மதிப்புக்குள் இருக்கும் இரட்டை மேற்கோள் குறியை இரட்டிப்பாக்க வேண்டும் (எ.கா., "He said ""Hello"""). இந்த கருவி இதை தானாகவே கையாளுகிறது.
முன்னணி பூஜ்ஜியங்கள்: எண்களாகத் தோன்றும் மதிப்புகளில் (எ.கா., "00123") முன்னணி பூஜ்ஜியங்கள் விழக்கூடும். JSON இல் "00123" ஒரு சரம் என்றால், அது CSV இல் "00123" ஆகவே இருக்கும். ஆனால் JSON இல் 00123 ஒரு எண் (number) ஆக இருந்தால், அது 123 என மாற்றப்படும். இது JSON மற்றும் CSV இன் வகை மாற்றத்தின் விளைவு.
மாற்றத்தின் வரம்புகள்: எது இழக்கப்படுகிறது?
JSON ஐ CSV ஆக மாற்றும்போது பல விஷயங்கள் இழக்கப்படுகின்றன:
- வகைத் தகவல்: எண், பூலியன், null போன்றவை அனைத்தும் சரங்களாக மாறும். பின்னர் மீண்டும் JSON க்கு மாற்றினால், இந்த வகைகள் மீட்டெடுக்கப்படாது (அனைத்தும் சரங்களாகவே இருக்கும்).
- உள்ளமைந்த அமைப்பு: Dot-path notation மூலம் flattening செய்யப்படுகிறது. அசல் படிநிலை கட்டமைப்பை மீட்டெடுக்க முடியாது.
- பல தாள்கள்: JSON இல் தாள்கள் (sheets) இல்லை. எனவே CSV இல் ஒரே ஒரு தாள் மட்டுமே இருக்கும்.
- Formulas மற்றும் formatting: CSV என்பது தரவு மட்டுமே கொண்ட வடிவம். Excel formulas அல்லது வடிவமைப்புகள் JSON இல் இல்லை, எனவே இழப்பு இல்லை.
"Table-shaped" JSON தேவை: கருவி JSON ஐ பாகுபடுத்தும்போது, அது ஒரு array of objects அல்லது array of arrays ஆக இருக்க வேண்டும். இல்லையென்றால், பிழை காட்டப்படும்: "This JSON is invalid or not table-shaped." எடுத்துக்காட்டாக, ஒரு single object {"a":1} table-shaped அல்ல, ஏனெனில் இது ஒரு வரிசை மற்றும் ஒரு நெடுவரிசையை உருவாக்கும், ஆனால் CSV இல் வரிசை மற்றும் நெடுவரிசை தலைப்புகள் எதிர்பார்க்கப்படுகின்றன. இதை ஒரு array of objects ஆக மாற்ற வேண்டும்: [{"a":1}].
பிழைக் கையாளுதல் மற்றும் வரம்புகள்
கருவி பல சூழ்நிலைகளில் பிழை செய்திகளை வழங்குகிறது:
- "Choose one file first." – ஒன்றுக்கு மேற்பட்ட கோப்புகள் தேர்ந்தெடுக்கப்பட்டால்.
- "Choose a CSV, JSON or XLSX file." – பொருந்தாத கோப்பு வகை.
- "Choose a different output format." – வெளியீட்டு வடிவம் CSV அல்லாதது.
- "This JSON is invalid or not table-shaped." – JSON சரியாக இல்லை அல்லது அட்டவணை வடிவில் இல்லை.
- "This file is too large. Use a file under ‹max›." – கோப்பு அளவு வரம்பை மீறினால்.
- "This table has more than ‹max› rows." – அதிகபட்ச வரிசைகளை மீறினால்.
- "This table has more than ‹max› columns." – அதிகபட்ச நெடுவரிசைகளை மீறினால்.
- "Could not convert this file." – பிற பிழைகளுக்கு.
- "Conversion cancelled." – பயனர் மாற்றத்தை ரத்து செய்தால்.
- "This conversion is taking too long. Try a smaller file." – செயலாக்க நேரம் மிக அதிகமாக இருந்தால்.
இந்த வரம்புகள் அனைத்தும் உலாவியின் செயலாக்க சக்தி மற்றும் நினைவக வரம்புகளைக் கையாள்வதற்காகும். அனைத்து செயலாக்கமும் உங்கள் கணினியிலேயே நடைபெறுவதால், பெரிய கோப்புகளுக்கு செயலி சுமை அதிகமாகும்.
யாருக்கு இது தேவை?
- API பதிலிலிருந்து JSON தரவைப் பெற்று, அதை Excel அல்லது Google Sheets இல் பகுப்பாய்வு செய்ய விரும்புபவர்கள்.
- தரவுகளை மாற்றும்போது எந்த சேவையகத்துக்கும் அனுப்பாமல் தனியுரிமையைப் பாதுகாக்க விரும்புபவர்கள்.
- பிரிப்பானை மாற்ற வேண்டியவர்கள் (எ.கா., semicolon ஒரு குறிப்பிட்ட மொழி வட்டாரத்துக்கு).
- விரைவான முன்மாதிரி (prototype) தரவுக் குழாய்களை உருவாக்குபவர்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)
கேள்வி 1: JSON இல் nested objects இருந்தால், அவை CSV இல் எவ்வாறு தோன்றும்?
பதில்: Each nested object key dot-path notation மூலம் flatten செய்யப்படும். எடுத்துக்காட்டாக, {"person":{"name":"ராம்"}} என்பது person.name என்ற நெடுவரிசையாக மாறும்.
கேள்வி 2: JSON array of arrays ஐ CSV ஆக மாற்ற முடியுமா? பதில்: ஆம். ஒவ்வொரு உள் array ஒரு வரிசையாக மாறும், மேலும் உறுப்புகள் நெடுவரிசைகளாக மாறும். object keys இல்லை.
கேள்வி 3: மாற்றத்தின் போது எண்களின் முன்னணி பூஜ்ஜியங்கள் இழக்கப்படுமா? பதில்: JSON இல் மதிப்பு எண்ணாக (number) இருந்தால், ஆம், முன்னணி பூஜ்ஜியங்கள் இழக்கப்படும். சரமாக (string) இருந்தால், அவை பாதுகாக்கப்படும்.
கேள்வி 4: CSV இல் சரியான மேற்கோள் சேர்க்கப்படுகிறதா? பதில்: ஆம், RFC 4180 தரநிலைப்படி மேற்கோள் விதிகள் தானாகவே பயன்படுத்தப்படும். மதிப்பில் கமா, புதிய வரி, அல்லது மேற்கோள் குறி இருந்தால், முழு மதிப்பும் மேற்கோள் குறிகளுக்குள் இடப்படும்.
கேள்வி 5: கருவி என் தரவை சேவையகத்துக்கு அனுப்புகிறதா? பதில்: இல்லை. அனைத்து செயலாக்கமும் உங்கள் உலாவியிலேயே நடைபெறுகிறது. எந்தத் தரவும் வெளியேறாது.
கேள்வி 6: எனது JSON கோப்பு 'This JSON is invalid or not table-shaped' என்ற பிழையைக் காட்டுகிறது. நான் என்ன செய்ய வேண்டும்?
பதில்: உங்கள் JSON ஒரு array of objects அல்லது array of arrays ஆக இருப்பதை உறுதிப்படுத்தவும். ஒற்றை object அல்லது மற்ற கட்டமைப்புகள் ஏற்றுக்கொள்ளப்படாது. எடுத்துக்காட்டாக, [{"a":1}] சரி, ஆனால் {"a":1} பிழை.