המרת CSV ל-XML

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

גררו CSV או הדביקו אותו וקבלו מסמך XML עם אלמנט <root>, אלמנט <item> לכל שורה ואלמנט בן לכל עמודה, על שם הכותרת. המפרידים מזוהים אוטומטית (פסיק, נקודה-פסיק, טאב, קו אנכי), שדות מצוטטים מטופלים לפי RFC 4180, ו-BOM של UTF-8 מוסר.

שמות עמודות ש-XML לא יכול להשתמש בהם כשמות אלמנטים – עם רווחים, סמלים או ספרה בהתחלה – מתוקנים עם קווים תחתונים ("Unit price" הופך ל-Unit_price), כך שהפלט תמיד תקין. הערכים נכתבים כטקסט בתוך האלמנטים; אין מאפיינים, וכך המסמך פשוט לכל מפענח.

רואים את 200 השורות הראשונות לפני ההורדה, וההמרה מתבצעת כולה במכשיר שלכם.

איך המרת CSV ל-XML

  1. גררו קובץ CSV, או הדביקו את טקסט ה-CSV.
  2. השאירו את המפריד על זיהוי אוטומטי, או בחרו אותו.
  3. לחצו «המרה ל-XML» ובדקו את התצוגה המקדימה.
  4. הורידו את ה-.xml.

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

קלט
CSV / TSV – קובץ או טקסט מודבק
פלט
XML 1.0, UTF-8, <root><item>…</item></root>
פענוח
RFC 4180; מפריד מזוהה אוטומטית
שמות
שמות הכותרות מתוקנים לשמות אלמנטים חוקיים
איפה זה רץ
בדפדפן – בלי העלאה

לא מיועד ל: הפקת XML לפי סכמה מסוימת (פורמט של בנק, של רשות המסים או של חנות) – שמות האלמנטים באים מהכותרות שלכם, לא מסכמה.

הערכים נכתבים בדיוק כמו ב-CSV

XML מחזיק כל ערך כטקסט, ולכן אין מה להרוויח מזיהוי מספרים או של true ו-false, והדף הזה לא מציע זאת. כל ערך נכתב כפי שהוא עומד ב-CSV: 1.50 נשאר 1.50, ‏1e3 נשאר 1e3, ‏TRUE נשאר TRUE והמילה NULL נשארת NULL. תא ריק נותן אלמנט ריק, כמו <note/>, ואפסים מובילים, כמו ב-007, נשמרים.

איך שמות הכותרות הופכים לשמות אלמנטים

כותרות כפולות וריקות מתוקנות קודם: שתי עמודות בשם name הופכות ל-<name> ול-<name_2>, וכותרת שלישית ריקה הופכת ל-<column_3>. אחר כך כל שם נעשה חוקי ב-XML. ‏Total (USD) הופך ל-Total__USD_, כי רווחים וסוגריים הופכים לקווים תחתונים, ו-1st הופך ל-_1st. מקף ונקודה מותרים, כך ש-e-mail נשאר e-mail, ו-address.city נשאר אלמנט אחד בשם הזה; הוא לא מתפצל לאלמנטים מקוננים. כותרות בכל כתב, עברית או סינית למשל, נשמרות כפי שנכתבו.

שתי כותרות שמגיעות לאותו שם, כמו "a b" ו-"a_b", נכתבות שתיהן כ-<a_b> בתוך כל <item>. תוכנה שקוראת אלמנטים לפי שם עשויה לראות רק את הראשון, אז שנו קודם ב-CSV את השם של אחת מהן.

איך ה-CSV נקרא

הטקסט נקרא לפי אותם כללים כמו ב-/csv-to-json, שם הם מוסברים עם דוגמאות: איך מירכאות עובדות, איך המפריד נמצא, איך קידוד הקובץ מזוהה, ומה קורה לשורה עם יותר או פחות תאים מהכותרות. ב-XML, תא חסר הופך לאלמנט ריק. לתאים שאחרי הכותרת האחרונה אין שם אלמנט, ולכן הם מושארים בחוץ, והודעה אומרת בכמה שורות היו כאלה ואיפה נמצאת הראשונה.

השמות <root> ו-<item> קבועים. אם מערכת מצפה לשמות אחרים, כמו <customers> ו-<customer>, החליפו אותם בעורך טקסט אחרי ההורדה; שום דבר אחר במבנה לא צריך להשתנות.

שאלות נפוצות

האם הקובץ שלי נשלח לשרת?
לא. ההמרה מתבצעת כולה בדפדפן, בכוח המכשיר שלכם, והקובץ לא יוצא מהמחשב או מהטלפון. אחרי שהשתמשתם בכלי פעם אחת, הוא ממשיך לעבוד גם בלי אינטרנט (כלי הווידאו, זיהוי הטקסט והסרת הרקע מורידים את המנוע שלהם מהאתר הזה בפעם הראשונה).
איך נראה מבנה ה-XML?
הצהרת XML, אחריה <root>, ואז לכל שורה <item> שמכיל אלמנט לכל עמודה: <item><name>נועה</name><city>חיפה</city></item>. אלמנט השורה תמיד נקרא item.
בכותרות שלי יש רווחים – זו בעיה?
לא. השמות מתוקנים למה ש-XML מרשה: רווחים וסמלים הופכים לקווים תחתונים, וספרה בהתחלה מקבלת קו תחתון לפניה. שאר השם לא משתנה.
המפריד מזוהה?
כן – פסיק, נקודה-פסיק, טאב וקו אנכי נבדקים מול השורות הראשונות והעקבי מביניהם מנצח. אפשר גם לבחור אותו במפורש.

כלים קשורים

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

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