CSV ஐ JSON ஆக மாற்றுவது எப்படி?
இந்தக் கருவி உங்கள் கணினியில் இருந்து ஒரு CSV கோப்பை இழுத்துப் போடவோ அல்லது தேர்ந்தெடுக்கவோ அனுமதிக்கிறது. கோப்பு பதிவேற்றப்பட்டதும், வெளியீட்டு வடிவமாக "JSON" என்பதைத் தேர்ந்தெடுக்க வேண்டும். உங்கள் CSV கோப்பில் கமாவுக்குப் பதிலாக அரைப்புள்ளி (semicolon) அல்லது டேப் (tab) பயன்படுத்தப்பட்டிருந்தால், அந்தப் பிரிப்பானையும் (delimiter) குறிப்பிட வேண்டும். கருவி தானாகவே உள்ளீட்டு வடிவத்தைக் கண்டறிந்தாலும், பிரிப்பான் சரியாக அமைக்கப்படாவிட்டால் மாற்றம் தோல்வியடையும்.
கோப்பு மாற்றப்பட்டதும், ஒரு முன்தோற்றம் (preview) காண்பிக்கப்படும். அதில் எத்தனை வரிசைகள் (rows) மற்றும் நிரல்கள் (columns) உள்ளன என்பதும், வெளியீட்டு கோப்பின் அளவும் (file size) காட்டப்படும். பின்னர் நீங்கள் JSON கோப்பைப் பதிவிறக்கம் செய்யலாம். முழு செயல்முறையும் உங்கள் உலாவியிலேயே நடைபெறுகிறது; எந்தத் தரவும் சேவையகத்திற்கு அனுப்பப்படுவதில்லை. இது முக்கியமான தகவல்களைப் பாதுகாப்பாக மாற்ற உதவுகிறது.
கருவி CSV கோப்பை மட்டுமல்ல, JSON அல்லது XLSX கோப்புகளையும் ஏற்றுக்கொண்டு அவற்றை JSON ஆக மாற்றும். ஆனால் இந்தப் பக்கத்தின் முதன்மை நோக்கம் CSV → JSON மாற்றமே. உங்கள் கோப்பு JSON வடிவில் இருந்தாலும், அது தரவு அட்டவணையாக (table) விளக்கப்பட்டு மீண்டும் JSON ஆக மாற்றப்படும். இதுபோன்ற நிகழ்வுகள் அரிதானவை; பொதுவாகப் பயனர்கள் CSV கோப்புகளை மாற்றவே வருகின்றனர்.
இந்தப் பக்கம் ஏன் வேறுபட்டது?
1. CSV இல் வகை (type) இல்லை, JSON இல் வகை தேவை
CSV ஒரு தட்டையான உரை வடிவம். ஒவ்வொரு புலமும் (field) ஒரு சரமாக (string) சேமிக்கப்படுகிறது. ஆனால் JSON எண்கள் (numbers), உண்மை/பொய் (booleans), வெற்று (null) மற்றும் உள்ளமைந்த கட்டமைப்புகளை (nested structures) ஆதரிக்கிறது. கருவி எந்தப் புலத்தையும் தானாக எண்ணாகவோ நாளாகவோ மாற்றாது. அதாவது, விலை 12.50 என்பது "12.50" என்ற சரமாகவே இருக்கும். உங்களுக்கு எண் தேவைப்பட்டால், JSON ஐப் பதிவிறக்கம் செய்த பிறகு கைமுறையாக மாற்ற வேண்டும். இது வேண்டுமென்றே செய்யப்பட்ட வடிவமைப்பு: CSV இல் தகவல் வகை பற்றிய எந்தக் குறிப்பும் இல்லை, எனவே கருவி யூகிக்க முயற்சிப்பதில்லை.
2. உள்ளமைவு (nesting) சாத்தியமில்லை
CSV ஒரு தட்டையான அட்டவணை மட்டுமே. ஒவ்வொரு வரிசையும் ஒரு பொருளாக (object) மாறுகிறது, ஒவ்வொரு நிரலும் ஒரு சாவியாக (key) மாறுகிறது. இதனால் வெளியீடு ஒரு தட்டையான பொருட்களின் வரிசையாக (array of flat objects) இருக்கும். உள்ளமைந்த JSON (object-க்குள் object) CSV இலிருந்து உருவாக்க முடியாது. எடுத்துக்காட்டாக, உங்களிடம் 'முகவரி' நிரல் இருந்தால், அது ஒரு சரமாக அல்லது அதற்குள் தெரு, நகரம், ஊரகம் போன்ற உள்ளமைவுகள் இருக்க முடியாது. மாற்றாக, நீங்கள் JSON → CSV மாற்றும் போது, உள்ளமைந்த கட்டமைப்புகளைத் தட்டையாக்க வேண்டும்.
3. பிரிப்பான் மிகவும் முக்கியம்
CSV கோப்பில் கமா (,) மட்டுமல்ல, அரைப்புள்ளி (;) அல்லது டேப் (\t) போன்ற பிரிப்பான்களும் பயன்படுத்தப்படலாம். உங்கள் கோப்பு எந்தப் பிரிப்பானைப் பயன்படுத்துகிறது என்பதை நீங்கள் குறிப்பிட வேண்டும். தவறான பிரிப்பானைத் தேர்ந்தெடுத்தால், தரவு முழுவதுமாகச் சிதைந்துவிடும். இந்தப் பிரிப்பான் தேர்வு மற்ற வடிவ மாற்றங்களில் (JSON அல்லது XLSX) தேவையில்லை.
4. உட்பொதிக்கப்பட்ட கமாக்கள் மற்றும் வரி முறிப்புகள்
CSV இல் மேற்கோள் (quote) விதிகள் உலகளவில் ஒரே மாதிரி பின்பற்றப்படுவதில்லை. ஒரு கலத்திற்குள் (cell) கமா இருந்தால், அந்தக் கலம் மேற்கோள் குறிகளால் (" ") மூடப்பட்டிருக்க வேண்டும். ஆனால் சில CSV கோப்புகள் இந்த விதியைப் பின்பற்றுவதில்லை. அதேபோல், ஒரு கலத்திற்குள் வரி முறிப்பு (line break) இருந்தால், அதுவும் மேற்கோள்களுக்குள் இருக்க வேண்டும். இத்தகைய சந்தர்ப்பங்களில் CSV ஐப் பாகுபடுத்துவது (parse) கடினமாகிறது. இந்தக் கருவி மேற்கோள் விதிகளைச் சரியாகப் பின்பற்ற முயற்சிக்கிறது, ஆனால் தோல்வியுற்றால் "This CSV could not be parsed." என்ற பிழை செய்தியைக் காண்பிக்கும்.
உள்ளீடுகள் மற்றும் வெளியீடுகள்
உள்ளீடு: ஒரு CSV கோப்பு (அல்லது JSON அல்லது XLSX கோப்பு). கருவி தானாகவே வடிவத்தைக் கண்டறியும்.
பயனர் தேர்வுகள்: வெளியீட்டு வடிவம் "JSON" ஆக அமைக்கப்பட்டிருக்க வேண்டும். CSV கோப்புக்கு மட்டும் பிரிப்பான் (Comma, Semicolon, Tab) தேர்ந்தெடுக்க வேண்டும்.
வெளியீடு: ஒரு JSON கோப்பு. முன்தோற்றத்தில் மாற்றப்பட்ட தரவு, வரிசைகள் மற்றும் நிரல்களின் எண்ணிக்கை, வெளியீட்டு கோப்பின் அளவு ஆகியவை காட்டப்படும்.
கீழே உள்ள அட்டவணை உள்ளீடு-வெளியீட்டு விவரங்களைச் சுருக்கமாக விளக்குகிறது:
| உள்ளீடு வடிவம் | பயனர் தேர்வுகள் | வெளியீடு | முன்தோற்றம் |
|---|---|---|---|
| CSV | பிரிப்பான் (கமா/அரைப்புள்ளி/டேப்) | JSON கோப்பு | வரிசைகள், நிரல்கள், கோப்பு அளவு |
| JSON | (தானியங்கி) | JSON கோப்பு (மீண்டும் வடிவமைக்கப்பட்டது) | வரிசைகள், நிரல்கள், கோப்பு அளவு |
| XLSX | (தானியங்கி) | JSON கோப்பு | வரிசைகள், நிரல்கள், கோப்பு அளவு |
கருவி CSV இல் உள்ள அனைத்துத் தரவையும் எடுத்து ஒரு JSON வரிசையாக மாற்றுகிறது. முதல் வரிசை (header row) சாவிகளாகப் பயன்படுத்தப்படும். கீழே ஒரு எளிய உதாரணம்:
CSV உள்ளீடு:
பெயர்,வயது,நகரம்
ரமேஷ்,30,சென்னை
சீதா,25,கோயம்புத்தூர்
JSON வெளியீடு:
[
{ "பெயர்": "ரமேஷ்", "வயது": "30", "நகரம்": "சென்னை" },
{ "பெயர்": "சீதா", "வயது": "25", "நகரம்": "கோயம்புத்தூர்" }
]
"வயது" என்பது எண்ணாக மாறாமல் "30" என்ற சரமாகவே உள்ளது. இதை நீங்கள் JSON ஐப் பயன்படுத்தும் இடத்தில் மாற்றலாம்.
விதிகள் மற்றும் விளிம்பு நிலைகள்
கருவி பல்வேறு எல்லை நிலைகளை (edge cases) கையாளுகிறது. ஒவ்வொன்றுக்கும் தனித்தனி பிழை செய்திகள் உள்ளன:
| நிலைமை | காண்பிக்கப்படும் செய்தி |
|---|---|
| CSV பாகுபடுத்த முடியவில்லை (quoting பிழைகள், நிரல்கள் மாறுபாடு) | "This CSV could not be parsed." |
| கோப்பில் தரவு வரிசைகள் இல்லை | "This file has no table rows." |
| வரிசைகள் வரம்பை மீறுகின்றன (max rows) | "This table has more than ‹max› rows." |
| நிரல்கள் வரம்பை மீறுகின்றன | "This table has more than ‹max› columns." |
| கோப்பு அளவு வரம்பை மீறுகிறது | "This file is too large. Use a file under ‹max›." |
| பயனர் எந்தக் கோப்பையும் தேர்ந்தெடுக்கவில்லை | "Choose one file first." |
| தவறான கோப்பு வகை (CSV/JSON/XLSX இல்லை) | "Choose a CSV, JSON or XLSX file." |
| மாற்றம் நீண்ட நேரம் எடுக்கிறது | "This conversion is taking too long. Try a smaller file." |
கவனிக்க வேண்டிய முக்கியமான புள்ளிகள்:
- முன்புள்ள பூஜ்ஜியங்கள் (leading zeros): CSV இல் "00123" என்று இருந்தால், JSON இல் "00123" என்ற சரமாகவே இருக்கும். ஆனால் பின்னர் நீங்கள் JSON ஐ ஒரு நிரலில் ஏற்றும்போது (load) அந்த நிரல் எண்களைத் தானியங்கியாக மாற்றினால், பூஜ்ஜியங்கள் இழக்கப்படலாம். இந்தக் கருவி பூஜ்ஜியங்களைப் பாதுகாக்கிறது.
- வரி முறிப்புகள்: CSV இல் மேற்கோள்களுக்குள் வரி முறிப்பு இருந்தால், JSON இல் அது "\n" ஆக சேர்க்கப்படும்.
- சூத்திரங்கள் (formulas): CSV இல் சூத்திரங்கள் இல்லை (எக்செல் போல). எனவே எந்தச் சூத்திரமும் செயல்படுத்தப்படாது.
- வடிவமைப்பு: CSV இல் எந்த வடிவமைப்பும் (bold, color) இல்லை, எனவே பாதுகாக்க எதுவும் இல்லை.
கருவி CSV ஐ மேற்கோள் விதிகளுடன் பாகுபடுத்துகிறது. எடுத்துக்காட்டாக, "ரமேஷ், எம்." என்பது ஒரு கலமாகக் கருதப்படும். ஆனால் மேற்கோள் முறையற்றதாக இருந்தால் (எ.கா., ரமேஷ், "எம்"), கருவி தோல்வியடைந்து பிழை செய்தியைக் காண்பிக்கும்.
யாருக்கு இந்தப் பக்கம் தேவை?
- டெவலப்பர்கள்: ஒரு தரவுத்தளம் அல்லது விரிதாளில் இருந்து CSV ஏற்றுமதி (export) செய்து, அதனை JavaScript பயன்பாடு அல்லது API க்கு JSON ஆக மாற்ற வேண்டும். எடுத்துக்காட்டாக, ஒரு மின்-வணிகத் தளத்தில் பொருட்களின் பட்டியலை CSV இலிருந்து JSON ஆக மாற்றி AJAX கோரிக்கைகளில் பயன்படுத்தலாம்.
- தரவு ஆய்வாளர்கள்: முன்புள்ள பூஜ்ஜியங்கள் கொண்ட பின் குறியீடுகள் (postcodes) அல்லது தயாரிப்பு குறியீடுகளைக் கொண்ட பழைய CSV கோப்பை JSON ஆக மாற்ற விரும்புகிறீர்கள். இந்தக் கருவி பூஜ்ஜியங்களை இழக்காமல் மாற்றுகிறது.
- குழு ஒத்துழைப்பு: எக்செல்/CSV பயன்படுத்தும் தொழில்நுட்பமற்ற சக ஊழியருக்கும், JSON ஐப் பயன்படுத்தும் தொழில்நுட்பக் குழுவுக்கும் இடையே தரவைப் பகிர வேண்டும். மேலும் உணர்வுத் தகவல்களை (sensitive data) சேவையகத்தில் பதிவேற்றாமல் பாதுகாப்பாக மாற்றலாம்.
- மாணவர்கள்/ஆராய்ச்சியாளர்கள்: ஒரு முறை மட்டும் தேவைப்படும் தரவை CSV இலிருந்து JSON ஆக மாற்றி நிரலாக்கப் பணிக்காகப் பயன்படுத்தலாம்.
பொதுவான தவறுகள் மற்றும் தீர்வுகள்
தவறு 1: தவறான பிரிப்பான் தேர்வு
உங்கள் CSV கோப்பு கமாவைப் பயன்படுத்தினால், கமா என்பதைத் தேர்ந்தெடுக்க வேண்டும். ஆனால் சில ஐரோப்பிய மொழி அமைப்புகளில் CSV கோப்புகள் அரைப்புள்ளியைப் பயன்படுத்துகின்றன (எ.கா., எக்செல் இன் "சேவ் அஸ் CSV (MS-DOS)" விருப்பம்). உங்கள் கோப்பைத் திறந்து பார்த்துத் தெரிந்து கொள்ளுங்கள். தெரியவில்லை என்றால், முன்தோற்றம் மூலம் சரிபார்க்கவும்: அனைத்துத் தரவும் ஒரே நிரலில் வந்தால், பிரிப்பான் தவறானது என்பதை அறியலாம்.
தவறு 2: மேற்கோள் விதிகள் புறக்கணிப்பு
உங்கள் CSV இல் மேற்கோள்கள் சரியாக இல்லாவிட்டால், கருவி "This CSV could not be parsed." என்று கூறும். தீர்வு: CSV கோப்பை ஒரு உரைத் திருத்தியில் திறந்து, மேற்கோள்கள் சரியாக மூடப்பட்டுள்ளனவா என சரிபார்க்கவும். தேவைப்பட்டால், மேற்கோள்களைச் சரிசெய்து மீண்டும் மாற்றவும்.
தவறு 3: எண்கள் JSON இல் சரமாக இருப்பதில் குழப்பம்
பல பயனர்கள் "12.50" என்பதை எண்ணாக எதிர்பார்க்கிறார்கள். ஆனால் CSV இல் அது சரம். JSON இல், எண்களுக்கு மேற்கோள் இல்லை. எனவே உங்களுக்கு எண் தேவைப்பட்டால், JSON ஐப் பயன்படுத்தும் முன் அதை மாற்ற வேண்டும். உதாரணமாக, JavaScript இல் Number(value) பயன்படுத்தலாம்.
தவறு 4: பூஜ்ஜியங்கள் இழப்பு
"01234" என்ற பொருட்குறியீடு CSV இல் இருந்தால், JSON இல் "01234" ஆகும். ஆனால் நீங்கள் JSON ஐ ஒரு API க்கு அனுப்பி, அங்கு தானியங்கி எண்ணாக மாற்றினால், 1234 ஆகிவிடும். இதைத் தவிர்க்க, தரவை சரமாகவே பாதுகாக்கும் இடத்தில் (database column defined as string) பயன்படுத்தவும்.
தவறு 5: வரி முறிப்புகளால் ஏற்படும் சிக்கல்கள்
CSV கோப்பில் ஒரு கலத்தின் உள்ளே பல வரிகள் இருந்தால், அந்த வரிகள் JSON இல் \n ஆக சேர்க்கப்படும். இது நன்றாக வேலை செய்யும். ஆனால் உங்கள் CSV கோப்பு வரி முறிப்புகளை மேற்கோள்களுக்குள் சரியாக மூடவில்லை என்றால், மாற்றம் தோல்வியடையும்.
அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)
1. கேள்வி: என் CSV இல் எண்கள் உள்ளன, அவை JSON இல் எண்களாக மாறுமா?
பதில்: இல்லை. CSV இல் உள்ள அனைத்து மதிப்புகளும் சரங்களாகவே (text) கருதப்படுகின்றன. உங்களுக்கு எண்கள் தேவைப்பட்டால், JSON ஐப் பதிவிறக்கம் செய்த பிறகு உங்கள் பயன்பாட்டில் மாற்ற வேண்டும் (எ.கா., parseInt() அல்லது Number()).
2. கேள்வி: முன்புள்ள பூஜ்ஜியங்கள் (leading zeros) இழக்கப்படுமா?
பதில்: இந்தக் கருவி பூஜ்ஜியங்களைப் பாதுகாக்கிறது. "00123" என்பது JSON இல் "00123" என்ற சரமாகவே இருக்கும். ஆனால் நீங்கள் JSON ஐ ஒரு நிரலில் ஏற்றும்போது, அந்த நிரல் தானாக எண்ணாக மாற்றினால் மட்டுமே இழப்பு ஏற்படும்.
3. கேள்வி: என் CSV கோப்பில் கமாவுக்கு பதிலாக அரைப்புள்ளி உள்ளது. நான் என்ன செய்ய வேண்டும்?
பதில்: கோப்பைப் பதிவேற்றிய பிறகு, பிரிப்பான் விருப்பத்தில் "Semicolon" என்பதைத் தேர்ந்தெடுக்கவும். இல்லையெனில் முழு தரவும் ஒரே வரிசையில் வந்துவிடும்.
4. கேள்வி: கோப்பு மாற்றம் மிகவும் நீண்ட நேரம் எடுத்தால் என்ன செய்வது?
பதில்: கருவி "This conversion is taking too long. Try a smaller file." என்ற செய்தியைக் காண்பிக்கும். உங்கள் கோப்பின் அளவைக் குறைக்க முயற்சிக்கவும் (எ.கா., அதிக வரிசைகளை நீக்கி).
5. கேள்வி: எனது CSV கோப்பில் உள்ளமைந்த (nested) தரவு உள்ளது. அதை JSON இல் எவ்வாறு மாற்றுவது?
பதில்: இந்தக் கருவி CSV இலிருந்து உள்ளமைந்த JSON ஐ உருவாக்க முடியாது. CSV ஒரு தட்டையான அட்டவணை மட்டுமே. உங்களுக்கு உள்ளமைவு தேவைப்பட்டால், முதலில் JSON ஆக மாற்றி, பின்னர் கைமுறையாக மறுசீரமைக்கலாம்.
6. கேள்வி: பிழை செய்தி "This CSV could not be parsed." எனில் என்ன செய்வது?
பதில்: உங்கள் CSV கோப்பை ஒரு உரைத் திருத்தியில் திறந்து, மேற்கோள்கள் சரியாக மூடப்பட்டுள்ளனவா, ஒவ்வொரு வரிசையிலும் ஒரே எண்ணிக்கையிலான புலங்கள் உள்ளனவா என சரிபார்க்கவும். பின்னர் மீண்டும் மாற்ற முயற்சிக்கவும்.