המרת CSV ל-JSON

פועל על המכשיר שלכם · הקובץ לא עוזב את המכשיר.

גררו ייצוא ‎.csv או הדביקו את הטקסט וקבלו רשימת JSON – אובייקט אחד לכל שורה, עם שורת הכותרת כמפתחות. המפענח פועל לפי RFC 4180, ולכן שדות מצוטטים, מירכאות כפולות, ופסיקים או מעברי שורה בתוך תא שורדים בשלמותם.

מפריד העמודות מזוהה אוטומטית מבין פסיק, נקודה-פסיק, טאב וקו אנכי – ייצוא אירופי עם נקודה-פסיק עובד בלי שום הגדרה – ואפשר לקבוע אותו ידנית. כברירת מחדל "12" הופך למספר 12, "true" לערך בוליאני ותא ריק ל-null – אבל רק כששום דבר לא משתנה: 1.50, 1e3, 007 ומזהים ארוכים נשארים טקסט, כי כמספרים הם היו נכתבים בחזרה אחרת. כבו את זה וכל ערך נשאר בדיוק הטקסט שהיה.

שמות כותרת כפולים או ריקים מקבלים שמות ייחודיים (column_3), BOM בתחילת הקובץ מוסר, קובץ שנשמר כ-UTF-16 או בדף קוד ישן נקרא ככזה ושם הקידוד מוצג, שורות עם יותר תאים מהכותרות מדווחות עם מספר השורה, ובעיית פענוח מדווחת עם השורה והעמודה שלה במקום הודעה מעורפלת. התצוגה המקדימה מציגה את 200 השורות הראשונות לפני ההורדה.

איך המרת CSV ל-JSON

  1. גררו קובץ CSV, או הדביקו את טקסט ה-CSV בתיבה.
  2. השאירו את המפריד על זיהוי אוטומטי או בחרו אותו; החליטו אם לזהות מספרים וערכים בוליאניים.
  3. לחצו «המרה ל-JSON» ובדקו את התצוגה המקדימה.
  4. הורידו את ה-.json.

פורמטים נתמכים ומגבלות

קלט
CSV / TSV (.csv, .tsv, .txt) – קובץ או טקסט מודבק
פלט
מערך JSON של אובייקטים, מעוצב, UTF-8
פענוח
RFC 4180: מירכאות, מפרידים ומעברי שורה בתוך תאים
מפריד
זיהוי אוטומטי: פסיק, נקודה-פסיק, טאב, קו אנכי
איפה זה רץ
בדפדפן – בלי העלאה

לא מיועד ל: בנייה מחדש של מבנים מקוננים – CSV הוא שטוח, ולכן כל שורה הופכת לאובייקט שטוח; עמודות עם נקודה בשם לא מקוננות מחדש.

מה בדיוק זיהוי הסוגים משנה

כשהמתג פועל, תא הופך למספר רק כשהמספר ייכתב בחזרה כאותו טקסט בדיוק: 12, ‏‎-4‎ ו-3.5 הופכים למספרים. 1.50, ‏1e3 ו-‎-0‎ נשארים טקסט, כי כמספרים הם היו חוזרים כ-1.5, ‏1000 ו-0. כך גם 007, ‏‎+5‎, ‏" 12", ‏3,5, ‏1,250, ערך עם סימן אחוז או מטבע, ומזהה ארוך יותר ממה שמספר יכול להחזיק במדויק.

true ו-false מזוהים בכל צירוף של אותיות גדולות וקטנות, כך ש-TRUE הופך ל-true. תא ריק הופך ל-null, אבל המילה NULL נשארת טקסט, כי היא יכולה להיות גם ערך או שם. תאריכים כמו 2024-01-05 תמיד נשארים טקסט.

שורות קצרות או ארוכות מהכותרת

התאים מותאמים לכותרות לפי המיקום. שורה עם פחות תאים מקבלת null בעמודות החסרות (מחרוזת ריקה כשהזיהוי כבוי). לשורה עם יותר תאים מהכותרות אין איפה לשים את העודפים, ולכן הם מושארים בחוץ, והודעה מעל התצוגה המקדימה אומרת בכמה שורות זה קרה ובאיזו שורה מתחילה הראשונה מהן. בדרך כלל פירוש הדבר שערך כמו כהן, דנה מכיל את המפריד בלי מירכאות.

שורות ריקות מדולגות. רווחים מסביב לשמות הכותרות מוסרים; מסביב לערכים לא, כך ש-" חיפה" שומר על הרווח שלו.

איך מירכאות נקראות, ולמה שגיאה מצביעה

מירכאה פותחת שדה מצוטט רק כשהיא התו הראשון בשדה; באמצע, כמו בקיצור בע"מ, היא נשארת חלק מהטקסט. מירכאה שפותחת שדה ולא נסגרת לעולם הייתה מושכת את כל שאר הקובץ לתא אחד, ולכן ההמרה נעצרת ומציינת את השורה והעמודה שבהן נפתחה המירכאה.

זיהוי המפריד וקידוד הקובץ

הזיהוי בודק את 64 ה-KB הראשונים, עד 50 שורות, ובוחר את המפריד שנותן את אותו מספר עמודות בכמה שיותר שורות; מפרידים בתוך מירכאות לא נספרים. בקובץ עם נקודה-פסיק ושברים עשרוניים בפסיק, כמו A;1,5, נקודה-פסיק היא שמזוהה, ו-1,5 נשאר טקסט.

הקובץ נקרא לפי מה שהבייטים שלו הם בפועל: סימן סדר בתים (BOM), ‏UTF-16 (שאקסל כותב בשם „טקסט Unicode“), או UTF-8. כשהבייטים אינם UTF-8 תקין, נעשה שימוש בדף הקוד הישן שהופך אותם למילים: דפי הקוד של Windows לטקסט מערב אירופי ומרכז אירופי, קירילי, יווני, טורקי, עברי, ערבי (כולל פרסית ואורדו) ותאילנדי, או GB18030, ‏Big5, ‏Shift_JIS ו-EUC-KR לסינית, יפנית וקוריאנית. שורת הקובץ אומרת אז זאת, למשל „נקרא כ-windows-1255, לא UTF-8“; בקובץ קצר מאוד יש מעט אותיות לשפוט לפיהן, אז בדקו את התצוגה המקדימה שלו.

שאלות נפוצות

האם הקובץ שלי נשלח לשרת?
לא. ההמרה מתבצעת כולה בדפדפן, בכוח המכשיר שלכם, והקובץ לא יוצא מהמחשב או מהטלפון. אחרי שהשתמשתם בכלי פעם אחת, הוא ממשיך לעבוד גם בלי אינטרנט (כלי הווידאו, זיהוי הטקסט והסרת הרקע מורידים את המנוע שלהם מהאתר הזה בפעם הראשונה).
איך מטופלים מספרים, ערכים בוליאניים ותאים ריקים?
כשהמתג „זיהוי מספרים, ערכים בוליאניים ותאים ריקים“ פועל, 12 ו-3.5 הופכים למספרים, true/false לערכים בוליאניים ותא ריק ל-null. ערך הופך למספר רק כשהוא ייכתב בחזרה בדיוק אותו דבר, ולכן 1.50, 1e3, אפסים מובילים (007) ומזהים ארוכים נשארים טקסט ושום דבר לא משתנה בשקט. כבו את המתג כדי לשמור כל ערך כטקסט.
הקובץ שלי משתמש בנקודה-פסיק או בטאב – צריך לעשות משהו?
לא. המפריד מזוהה מהשורות הראשונות של הקובץ. אם הניחוש שגוי, בחרו את המפריד במפורש מהרשימה.
מה אם תא מכיל פסיק או מעבר שורה?
בשביל זה יש ציטוט, והמפענח מטפל בו בדיוק כמו שהתקן אומר: שדה עטוף במירכאות יכול להכיל מפרידים, מעברי שורה ומירכאות כפולות.

כלים קשורים

עוד בגיליונות ונתונים

עמוד זה בשפות אחרות: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · فارسی · اردو · Bahasa Indonesia · বাংলা