您好 - 我正在嘗試匯入數百個 XML 檔案。 這些檔案需要作為單行輸入,有些行需要分成多個列,所以據我所知,XML 匯入精靈已經退出。 我嘗試使用導入精靈中的程式碼作為起點,但是 A)我看不到如何輕鬆地輸入大量細微差別(例如指定將文字拆分為列,其中一列最多為 35k 條目 csv 格式) string) 和B) 我沒有找到很多關於XML 設定的文件。 我確實找到了有關 Parse XML 的文檔和社群支援。 然而,我已經花了很長一段時間來調整我在論壇和腳本索引中找到的程式碼(甚至可能是對 ChatGPT 的一些相當無用的查詢),但沒有成功。 我對 jsl(以及一般的編碼)非常菜鳥,所以這可能非常簡單。
這就是我現在得到的。 我有更多,但我想開始,我只想能夠訪問 xml 資料並正確使用 Parse 命令,但我在獲取除創建表之外的任何內容時遇到了嚴重的問題,而且我似乎沒有正確獲取屬性,因為表顯示未命名:
// Specify your preferred default folder
default_folder = "G:\My Drive\Edward H Chandler, Jr\VCU - Research\CERCAS\Project 46\XRD";
Set Default Directory( default_folder );
// Use the default folder to pick a file
file contents = Load Text File( Pick File(default_folder) );
Parse XML( file contents,
On Element(
"http://www.xrdml.com/XRDMeasurement/2.1^sample",
StartTag(
sheetname = XML Attr(
"http://www.xrdml.com/XRDMeasurement/2.1^type"
);
dt = New Table( sheetname );
row = 1;
col = 1;
)
)
);我主要是從這裡和這裡,但我注意到一些未記錄的語法,例如在第一個連結中包含帶有“Untitled”的XML Attr 命令中的第二個術語,所以我什至不確定此程式碼是否普遍適用,儘管我確實得到了它處理它所針對的大數據檔案。 我也不確定是否要用「^」來表示兒童,但此時我有點迷失了。 我想這也可能是命名空間標題為網頁的問題,但我的理解是字串是字串是字串。
無論如何,有人有任何建議或意見嗎? 我什至願意切換回 XML 設定路線。
我還附上了其中一個 xml 檔。 它最初是一個 .xrdml 文件,但我的理解是它的結構為 xml 文件,所以我只是更改了文件類型。
先致謝!
@jthi感謝您的回复,並對遲到的回复表示歉意 - Welp。 廣泛猜測絕對是一條出路。 我以為我點擊了那個,但我想我按錯了或什麼的。 感謝您指出。
這是我遇到一點麻煩的另一個問題。 我想將其匯入到現有工作表中,就像匹配現有列一樣,然後如果有不匹配的列,可能會拋出錯誤訊息。 我還想根據分隔符號分割某些單元格,所以我想使用 Word() 函數。 但是,我不太確定如何快速做到這一點。 我能想到的最好方法是建立一個中間表,然後讓腳本讀取該表,也許有一個用戶輸入視窗供要複製的行(將有>250行),在用Word拆分時複製資訊() ,如果不是所有列都匹配,則拋出錯誤訊息,然後刪除最後的虛擬中間表(可能帶有批准“確定”按鈕)。 我想我可以弄清楚如何做到這一點,但是有沒有辦法直接在我最終獲取資訊的表中執行此操作,而無需中間表? XML 設定指令文件很少,除非我在某處遺漏了它。
謝謝!
將資料取得到 JMP 表後(寬格式最有可能適用),然後您開始找出 JMP 可以進一步清理/修改資料的不同方法。 我不認為您可以直接在 XML 匯入精靈中完成所有操作(解析 XML 很可能可以做到這一點,但在我看來,它使用起來相當複雜)。
是的,寬是我的起點,然後我只是做了大量的列名稱編輯、列拆分、將列中的資料放入其他列的單位屬性並刪除它們等。如果有人覺得有用,則附加最終文件作為清理XML 檔案時要做的一些事情的指南。 它不漂亮,但它就在那裡。