xport

軟件截圖:
xport
軟件詳細信息:
版本: 0.1.0
上傳日期: 14 Apr 15
開發: Jack Cushman
許可: 免費
人氣: 1

Rating: 4.0/5 (Total Votes: 1)

XPORT是發布的數據集採用了一堆美國政府機構的二進制文件格式 它做了很多的意義,如果你想讀你的IBM大型機的數據文件早在1988年。
如何使用它?
讓我們把這個簡短而親切:
進口XPORT
與xport.XportReader(xport_file)為讀者:
 對於排在讀者:
 打印一行
每一行都將是一個關鍵的數據集中每個字段的字典。值將是一個Unicode字符串,浮點或int,取決於該字段的文件中指定的類型。
獲取文件信息
一旦你有一個XportReader對象,有幾個屬性和方法,這將使你有關文件的詳細信息:
- reader.file:下面的Python文件對象(見下節)。
- reader.record_start:位置(以字節為單位),其中記錄開始在文件中(見下節)。
  reader.record_length:每條記錄的長度(以字節為單位)(見下節)。
- reader.record_count():在文件中的記錄數。 (注意:這將尋求的文件,以確定文件長度的端部)。
- reader.file_info和reader.member_info:包含有關創建數據集的時間和方式的信息類型的字典。
- reader.fields:在數據集中的字段的列表。每個字段是包含以下鍵,從規範複製的字典:
 結構nameStr的{
 短n-型; / *變量類型:1 = NUM​​ERIC,2 = CHAR * /
 短nhfun; / * HASH n名稱(始終為0)的* /
  *短field_length; / *變量的觀測長度* /
 短nvar0; / * * VARNUM /
  * CHAR8名; / * Name變量* /
  * char40標籤; / * LABEL變量* /
  CHAR8 nform; / * NAME格式* /
 短NFL; / *格式字段長度或0 * /
  *短num_decimals; / * FORMAT小數位數* /
 短NFJ; / * 0 =左對齊,1 = RIGHT JUST * /
 燒焦nfill [2]; / *(未使用的,對齊和FUTURE)* /
  CHAR8 niform; / *名稱輸入格式* /
 短NIFL; / * INFORMAT長度屬性* /
 短nifd; / * INFORMAT小數位數* /
 長非營利機構; / *位置值觀測的* /
 其餘的char [52]; / *剩下的字段是無關的* /
 };
 注:項目與明星都被重命名從規範給出的短名稱。由於這是一個alpha版本,其他的項目可能被重新命名,今後,如果有人告訴我,他們是什麼樣的。
隨機訪問記錄
如果您要訪問的,而不是具體的迭代記錄,你可以使用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()
(在這個最後的例子中,請注意,我們不能從文件的末尾求,因為可能有填充字節。良好的舊固定寬度的二進制文件格式)。
請修復/偷這段代碼!
我寫這件事,因為它似乎可笑,有沒有簡單的方法來讀取大多數編程語言標準的政府數據格式。我可能得到的東西是錯誤的。如果您發現不解碼屬性格式的文件,發送一個拉請求。官方規格是在這裡。這是令人驚訝的簡單的從上世紀80年代的二進制文件格式。
也請隨意使用此代碼作為基礎來編寫自己的庫為您最喜愛的編程語言。 。政府數據應該是可訪問的,人

要求

  • 在Python中

意見 xport

評論沒有發現
添加評論
打開圖片!