xport

צילום מסך תוכנה:
xport
פרטי תוכנה:
גרסה: 0.1.0
טען תאריך: 14 Apr 15
מפתחים: Jack Cushman
רשיון: ללא תשלום
פופולריות: 1

Rating: 4.0/5 (Total Votes: 1)

צא

הוא הפורמט בינארי הקובץ בשימוש על ידי חבורה של משרדי ממשלת ארצות הברית לפרסום ערכות נתונים & nbsp;. זה גרם הרבה תחושה אם היית מנסה לקרוא קובצי הנתונים במיינפריים IBM שלך בחזרה בשנת 1988.
כיצד אוכל להשתמש בו?
בואו נעשה את זה קצר וקולע:
צא יבוא
עם xport.XportReader (xport_file) כקורא:
& Nbsp; לשורה בקורא:
& Nbsp; שורת הדפסה
כל שורה תהיה dict עם מפתח לכל שדה בבסיס הנתונים. ערכים יהיו גם מחרוזת יוניקוד, לצוף או int, תלוי בסוג מסוים של הקובץ לתחום זה.
מידע קבלת קובץ
ברגע שיש לך אובייקט XportReader, יש כמה מאפיינים ושיטות שייתנו לך פרטים על הקובץ:
- Reader.file: אובייקט קובץ Python יסוד (ראה סעיף הבא).
- Reader.record_start: העמדה (בבתים) בקובץ שבו רשומות להתחיל (ראה סעיף הבא).
& Nbsp; reader.record_length: האורך (בבתים) של כל רשומה (ראה הסעיף הבא).
- Reader.record_count (): מספר רשומות בקובץ. (אזהרה: זה יבקש סוף הקובץ כדי לקבוע את אורך קובץ.)
- Reader.file_info וreader.member_info: dicts המכיל מידע על מתי ואיך בסיס הנתונים נוצרו.
- Reader.fields: רשימת השדות בבסיס הנתונים. כל שדה הוא dict המכיל את המפתחות הבאים, שהועתקו מהמפרט:
& Nbsp; NAMESTR struct {
& Nbsp; ntype קצר; / * סוג משתנה: 1 = מספרי, 2 = * CHAR /
& Nbsp; nhfun קצר; / * Hash של Nname (תמיד 0) * /
& Nbsp; * field_length הקצר; / * אורך משתנה בתצפית * /
& Nbsp; nvar0 קצר; / * * Varnum /
& Nbsp; * שם char8; / * שם משתנה * /
& Nbsp; * תווית char40; / * LABEL של משתנה * /
& Nbsp; nform char8; / * שם של פורמט * /
& Nbsp; NFL הקצר; / * אורך או שדה תבנית 0 * /
& Nbsp; * num_decimals הקצר; / * מספר תבנית עשרוני * /
& Nbsp; nfj קצר; / * 0 = הצדקת LEFT, 1 = RIGHT JUST * /
& Nbsp; char nfill [2]; / * (אינו בשימוש, ליישור ועתיד) * /
& Nbsp; niform char8; / * שם מבנה קלט * /
& Nbsp;; nifl קצר / * ATTRIBUTE אורך אינפורמט * /
& Nbsp; nifd קצר; / * מספר אינפורמט עשרוני * /
& Nbsp; עמותות ארוכות; / * עמדת VALUE בתצפית * /
& Nbsp; שאר char [52]; / * שדות הנותרים אינם רלוונטיים * /
& Nbsp;};
& Nbsp ; הערה: פריטים עם כוכבים כבר שינה את שם מהשמות קצרים שניתנו במפרט. מכיוון שמדובר בשחרור אלפא, פריטים אחרים, ניתן לשנות את שמם בעתיד, אם מישהו אומר לי מה הם ל.
גישה אקראית לרשומות
אם אתה רוצה לגשת לרשומות ספציפיות, במקום חוזר ונשנה, אתה יכול להשתמש בפונקציות של Python סטנדרטי גישה לקבצים וקצת מתמטיקה.
קבל שיא -1000:
reader.file.seek (reader.record_start + reader.record_length * 1000, 0)
reader.next ()
קבל שיא לפני רוב האחרון אחד לכת:
reader.file.seek (-reader.record_length * 2, 1)
reader.next ()
קבל רשומה האחרונה:
reader.file.seek (reader.record_start + reader.record_length * (reader.record_count () - 1), 0)
reader.next ()
(בדוגמא האחרונה זו, שימו לב שאנחנו לא יכולים לבקש מסוף הקובץ, משום שייתכן שיש בתים ריפוד. פורמטים טובים ישנים ברוחב הקבוע בינארי קובץ.)
אנא תקן / לגנוב את הקוד הזה!
אני כתבתי את זה בגלל שזה נראה מגוחך שאין דרך קלה לקריאת נתונים בפורמט סטנדרטי ממשלה ברוב שפות תכנות. אני יכול להשאיר דברים הלא נכונים. אם אתה מוצא את קובץ שאינו לפענח propery, לשלוח בקשת משיכה. המפרט הרשמי הוא כאן. זה פשוט מפתיע לפורמט קובץ בינארי משנתי ה -80.
אנא גם אל תהסס להשתמש בקוד זה כבסיס לכתיבת ספרייה משלך עבור שפת תכנות האהובה עליך. . נתוני ממשלה צריכים להיות נגישים, איש

דרישות :

  • Python

תגובות ל xport

תגובות לא נמצא
להוסיף הערה
הפעל את התמונות!