簡體   English   中英

如何使用 Python 讀取 xer 文件?

[英]How to read xer-files using Python?

我有一些 Primavera .xer 文件。 我可以在記事本中打開這些文件,我看到有一些文本數據(它看起來像數據庫數據)。

這些文件是否有任何 Python 解析器?

Primavera P6 XER 格式確實容易受到 CSV 模塊的分析。 它基本上是關系數據庫的制表符分隔的備份格式。

第一行是關於文件的一些元信息。 此后,每一行都以一個代碼開頭,該代碼說明該行的其余部分包含的內容:

  • %T 給出表的名稱。
  • %F 給出了該表中某些字段的名稱,全部在一行中。
  • %R 是最近定義的表的記錄。
  • %E 是文件結束標記。

其余的完全取決於您想如何使用數據。 就我而言,我首先將數據直接放入(全新的)SQLITE 數據庫中,然后再考慮應用程序。

不是理想的解決方案,但您可以嘗試使用 MPXJ。 MPXJ 本身是一個 Java 庫,但假設您可以從 Python 代碼中啟動一個單獨的進程,您可以使用它來將 XER 文件轉換為 JSON,這應該更容易使用(這是 MPXJ Ruby gem 使用的方法,它只是包裝執行轉換的 Java 代碼,然后讀取生成的 JSON)。 您還應該發現 MPXJ 生成的 JSON 中的計划數據結構比 XER 文件的內容更易於使用,盡管您無法訪問原始 XER 文件中的每個屬性。

可以在此處找到此過程的 ruby​​ 版本。 總而言之,命令行將如下所示:

java -cp <classpath> net.sf.mpxj.sample.MpxjConvert your-file.xer your-file.json

您只需要設置提供<classpath>來告訴 JVM MPXJ JAR 及其依賴項的位置。

我知道有點晚了。 但是,我一直在尋找類似的答案,但我找不到。 所以,我開始開發一個名為 PyP6XER 的開源包。 您可以 pip install 它或在 github https://github.com/HassanEmam/PyP6Xer上為開發做出貢獻

請注意,該軟件包仍處於早期階段並且沒有很好的文檔記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM