ערכים מופרדים בטאבים
סיומת קובץ |
tsv, tab |
---|---|
סוג מדיה באינטרנט | text/tab-separated-values |
ערכים מופרדים בטאבים (באנגלית: Tab separated values, בראשי תיבות: TSV) הוא פורמט קובץ פשוט מבוסס טקסט לאחסון נתונים טבלאיים.[1] רשומות מופרדות על ידי שורות חדשות, וערכים בתוך רשומה מופרדים על ידי תווי טאב. פורמט ה-TSV הוא לפיכך פורמט ערכים מופרדים במפריד, בדומה ל-CSV (ערכים מופרדים בפסיקים).
TSV הוא פורמט קובץ פשוט הנתמך באופן נרחב, ולכן הוא משמש לעיתים קרובות להעברת נתונים טבלאיים בין תוכנות מחשב שונות התומכות בפורמט. לדוגמה, קובץ TSV יכול לשמש להעברת מידע ממסד נתונים לגיליון אלקטרוני.
דוגמה
[עריכת קוד מקור | עריכה]ניתן לאחסן נתונים על פרחי אירוס בפורמט TSV באמצעות הטקסט הפשוט הבא (שימו לב שעיבוד ה-HTML עשוי להמיר טאבים לרווחים):
אורך עלי גביע רוחב עלי גביע אורך עלי כותרת רוחב עלי כותרת מין 5.1 3.5 1.4 0.2 I. setosa 4.9 3.0 1.4 0.2 I. setosa 4.7 3.2 1.3 0.2 I. setosa 4.6 3.1 1.5 0.2 I. setosa 5.0 3.6 1.4 0.2 I. setosa
הטקסט הפשוט של ה-TSV לעיל מתאים לנתונים הטבלאיים הבאים:
אורך עלי גביע | רוחב עלי גביע | אורך עלי כותרת | רוחב עלי כותרת | מין |
---|---|---|---|---|
5.1 | 3.5 | 1.4 | 0.2 | I. setosa |
4.9 | 3.0 | 1.4 | 0.2 | I. setosa |
4.7 | 3.2 | 1.3 | 0.2 | I. setosa |
4.6 | 3.1 | 1.5 | 0.2 | I. setosa |
5.0 | 3.6 | 1.4 | 0.2 | I. setosa |
תו מילוט
[עריכת קוד מקור | עריכה]תקן סוג המדיה של IANA עבור TSV אוסר על שימוש בטאבים ובתווי שורה חדשה בתוך שדות, ובכך מונע בלבול אפשרי בהפרדת המידע לרשומות ולשדות.
מכיוון שהערכים בפורמט TSV אינם יכולים להכיל טאבים או תווי שורה חדשה, יש צורך במוסכמה להמרה של ערכי טקסט אשר מכילים תווים אלה, במידה ומעוניינים בכל זאת להכיל אותם בקובץ. מוסכמה נפוצה היא להשתמש בתווי המילוט הבאים: [2]
תו מילוט | משמעות |
---|---|
\n
|
ירידת שורה |
\t
|
טאב |
\r
|
החזרת הסמן לתחילת שורה |
\\
|
לוכסן |
מוסכמה נפוצה נוספת היא להשתמש במוסכמה של CSV מתקן RFC 4180, ולהוסיף ערכים המכילים תווי טאב או תווי ירידת שורה במירכאות כפולות. למרות שהמוסכמה הזו אכן מספקת פתרון שניתן לפרש באופן חד משמעי בכל קובץ נתון, שימוש כזה עדיין עלול להוביל לחוסר בהירות מסוים אצל קורא אנושי ולבלבול למשל בין טאבים שהם חלק משדה ובין טאבים שנועדו להפריד בין שדות.[3][4]
סיום שורה
[עריכת קוד מקור | עריכה]רשומות מופרדות בדרך כלל על ידי תו ירידת שורה (LF), כפי שאופייני לפלטפורמות יוניקס, או תו חזרה לתחילת שורה ותו ירידת שורה (CR/LF), כפי שאופייני למערכות ההפעלה של מיקרוסופט. חלק מהתוכנות שמטפלות בקובצי TSV עשויות לצפות לתו הכפול (CR/LF) ולהבין רק אותו בתור ירידת שורה, ובכך לא לפרש נכון ולהתעלם מירידות שורה בקבצים שמשתמשים רק בתו הבודד (LF). המפרט דה-פקטו[5] מציין שרשומות מופרדות באמצעות תו EOL (end of line - סוף שורה), אך אינו מציין תו שורה חדשה ספציפי.
ראו גם
[עריכת קוד מקור | עריכה]הערות שוליים
[עריכת קוד מקור | עריכה]- ^ "How To Use Tab Separated Value (TSV) files". International Monetary Fund. נבדק ב-2023-02-01.
- ^ Dusek, Jason (2014-05-06). "Linear TSV: simple, line-oriented, tabular data". Data Protocols - Open Knowledge Foundation (v1.0β ed.).
- ^ Miller, Rob (2015-09-22). Text Processing with Ruby: Extract Value from the Data That Surrounds You (באנגלית). Pragmatic Bookshelf. p. 94. ISBN 978-1-68050-492-7.
- ^ Giuseppini, Gabriele; Burnett, Mark (2005-02-10). Microsoft Log Parser Toolkit: A Complete Toolkit for Microsoft's Undocumented Log Analysis Tool (באנגלית). Elsevier. p. 311. ISBN 978-0-08-048939-1.
- ^ "IANA: text/tab-separated-values".