טבלת CSV (.csv)

RFC תקן

Comma-Separated Values (CSV) הוא פורמט טקסט פשוט ונפוץ לנתונים טבלאיים, שבו כל שורה מייצגת רשומת נתונים והשדות מופרדים בתווי הפרדה.

המר XLSX ל-CSV

ממיר חינמי מ-XLSX ל-CSV פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.

כיווץ CSV אונליין

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי CSV על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי CSV על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 0):

אין חתימה קבועה

ייצוג ASCII: בתים של טקסט; הקידוד משתנה (לעיתים קרובות UTF-8)

תקינה: RFC 4180 / IETF

מפרט טכני

מבנה המכולהקובץ טקסט שטוח ומופרד המייצג שורות ועמודות של נתונים טבלאיים
דחיסהGzip ו-Deflate יכולים לדחוס טקסט חוזר; גודל התוצאה תלוי בנתונים ובהגדרות.
סדר בתים (Endianness)זרם טקסט מסוג UTF-8 (שימוש אופציונלי ב-UTF-8 BOM EF BB BF על ידי Excel)
מרחבי צבעלא רלוונטי
ערוצים ומבנהרשומות שורה המופרדות ב-CRLF ועמודות המופרדות בפסיקים
ממדים מרבייםללא הגבלה; ניתן להזרמה לג'יגה-בייט בלי טעינת הקובץ המלא בזיכרון
שקיפותלא רלוונטי
הזרמה ופרוגרסיביותכל צינורות עיבוד הנתונים תומכים בעיבוד זרם מובנה, שורה אחר שורה

מטריצת השוואה טכנית: CSV מול מתחרים

תכונה טכניתCSV (נוכחי)Excel (XLSX)ParquetJSON
סוג קובץטבלה שטוחה של טקסט פשוטגיליון אלקטרוני מסוג XML מכווץאחסון טבלאי בינאריטקסט היררכי
גיליונות מרוביםלא (טבלה שטוחה בודדת בלבד)כן (חוברות עבודה וגיליונות מרובים)אחסון מבוסס מחיצותמערכים ואובייקטים מקוננים
סוגי נתוניםטקסט גולמי ללא טיפוסיםתאים עם טיפוסים, נוסחאות, עיצובטיפוסי עמודות בינאריים קפדנייםטיפוסים פרימיטיביים (מחרוזת, מספר, בוליאני)
אנליטיקת ביג דאטהאיטי (דורש קריאת כל שורה באופן ליניארי)לא מתאים לביג דאטהמהיר מאוד (בחירת עמודות ודחיפת תנאים)בינוני

מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)

עמודות זזות ימינה או ספירות השורות אינן תואמות.

גורם שורש: שדה טקסט המכיל פסיק שלא טופל באמצעות escape ואינו מוקף במרכאות.

שחזור: RFC 4180 דורש ששדות המכילים פסיקים יהיו עטופים במרכאות כפולות: "Smith, John".

תווים מוטעמים מוצגים כסמלים מוזרים (מוג'יבאקה כמו é במקום é) ב-Excel.

גורם שורש: Excel פתח CSV מסוג UTF-8 בהנחה של קידוד התווים הישן Windows ANSI/CP1252.

שחזור: הוסף בתחילת הקובץ את סימן סדר הבייטים של UTF-8 באורך 3 בייטים (0xEF 0xBB 0xBF).

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

קבצי CSV נפתחים ישירות בתוכנות גיליונות אלקטרוניים כמו Excel ו-Google Sheets, וחושפים משתמשים להתקפות הזרקת נוסחאות (הזרקת CSV).

ווקטורי תקיפה ידועים

  • הזרקת נוסחאות: תאים המתחילים ב-'=', '+', '-' או '@' המריצים מאקרו של גיליון אלקטרוני או פקודות DDE (לדוגמה '=cmd|' /C calc'!A0').
  • הוצאת נתונים באמצעות נוסחאות HYPERLINK() השולחות נתוני תאים רגישים לשרתי תוקף מרוחקים בעת לחיצה.

שיטות מומלצות להגנה: בעת ייצוא נתוני משתמש ל-CSV, הוסף גרש (') או טאב לפני כל תא המתחיל ב-'=', '+', '-' או '@' כדי לכפות הצגת טקסט פשוט ב-Excel.

היסטוריה ואבני דרך

2015מודל W3C לנתונים טבלאיים ולמטא-נתונים ברשת מגדיר תקן ל-CSV ברשת (CSVW), עם תיאורי מטא-נתונים מסוג JSON-LD.
2005IETF מפרסמת את RFC 4180 ומבססת את המפרט הרשמי עבור קבצי CSV.
1972מהדר IBM Fortran (H Extended) מטמיע קלט/פלט מופרד בפסיקים.

יתרונות מרכזיים

  • פשטות מרבית: קריא בכל עורך טקסט וניתן לייבוא לכל מסד נתונים וגיליון אלקטרוני.
  • הזרמה מהירה במיוחד שורה אחר שורה מבלי לבנות DOM מלא בזיכרון.
  • תקורה מינימלית: ללא תחביר תגים מפורט או הגדרות סכמה.

מגבלות טכניות וחסרונות

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

עובדות טכניות מעניינות

  • במדינות אירופאיות רבות שבהן משתמשים בפסיקים כנקודות עשרוניות, משתמשים בנקודה-פסיק (;) במקום בפסיקים כמפרידי CSV.
  • Microsoft Excel דרש בעבר UTF-8 BOM (0xEF 0xBB 0xBF) כדי להציג כראוי תווים מוטעמים שאינם ASCII.
  • שירות הבריאות הלאומי בבריטניה איבד כמעט 16,000 רשומות של איתור מגעים של COVID-19 בשנת 2020, מכיוון שהנתונים יובאו לפורמט גיליון אלקטרוני מיושן של Excel, שהגביל את מספר השורות ל-65,536.

שאלות טכניות נפוצות

מהו RFC 4180?

RFC 4180 הוא תקן ה-IETF הרשמי עבור CSV. הוא מחייב ששדות המכילים פסיקים, מעברי שורה או מרכאות כפולות יהיו סגורים במרכאות כפולות, ושמרכאות פנימיות יעברו בריחה על ידי כפילתן ("").

מדוע קבצי CSV נפתחים עם תווים פגומים ב-Excel?

גרסאות ישנות יותר של Microsoft Excel משתמשות כברירת מחדל בדף הקוד המקומי של Windows (כמו Windows-1252) במקום ב-UTF-8 בעת פתיחת קבצי CSV ישירות. הוספת UTF-8 BOM (סמן סדר הבייטים) בתחילת הקובץ מכריחה את Excel לפענח UTF-8 כראוי.

מהי הזרקת CSV (הזרקת נוסחאות)?

הזרקת CSV מתרחשת כאשר קלט משתמש לא מהימן המכיל טריגרים מובילים של נוסחאות ('=', '+', '-', '@') מיוצא לקובץ גיליון אלקטרוני. כאשר הוא נפתח בתוכנה כמו Excel, הגיליון האלקטרוני מריץ באופן אוטומטי את הנוסחה או את פקודת החלפת הנתונים הדינמית (DDE), מה שעלול להריץ פקודות מערכת או להוציא נתונים.

זוגות המרה קשורים ל-CSV

XLSX אל CSV

המרת גיליונות אקסל לטבלת CSV מחלצת נתונים טבלאיים גולמיים לפורמט טקסט אוניברסלי לתאימות תוכנה מרבית.

CSV אל XLSX

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

CSV אל SQLITE

המרת קבצי טקסט שטוחים למסדי נתונים יחסיים מובנים מאפשרת לך להריץ שאילתות מהירות ולנהל קשרי נתונים מורכבים.

SQL אל CSV

המרת סקריפטים של גיבוי מסדי נתונים רלציוניים לגיליונות נתונים שטוחים לצורך ניתוח נתונים והפקת דוחות בקלות.

HDF5 אל CSV

המרת מערכי נתונים היררכיים מסוג HDF5 לקבצי טלמטריה שטוחים מסוג CSV הופכת רשומות מדעיות מורכבות ורב-ממדיות לשורות ועמודות פשוטות לצורך ניתוח בגיליונות אלקטרוניים.

NETCDF אל CSV

המרת רשתות מדעיות רב-ממדיות מסוג NetCDF לקבצי טלמטריה CSV שטוחים הופכת נתוני אקלים ואוקיינוס מורכבים לקריאים בתוכנות גיליונות אלקטרוניים בסיסיות.

VCF אל CSV

המרת קבצי vCard לקבצי CSV של אנשי קשר הופכת כרטיסי קשר היררכיים לשורות גיליון אלקטרוני שטוחות לייבוא נוח למסדי נתונים.