使用列中的值來生成字符串,以便將該字符串用作堆棧的參數<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我的需求是:堆棧一個表,其中列的動態(井,種)選擇。
我解決了一個配置表,其中要堆疊的列的名稱存儲為值,然後我執行“獲取值”和
將結果分配給字符串。最後我把這個字符串提供給堆棧命令。
它有效,但......
它每次都在我的日誌中說
發現錯誤。訪問或評估'列',壞參數(評估(d))
,列(Eval(d))“
沒有eval它不會運行,eval運行完美但污染了我的日誌。有誰知道為什麼?
這是代碼:
conf3 = open(“\這裡是配置表”);
//加載配置,這是一個由用戶編輯的excel文件,以便在最終報告中選擇他們想要的“類”
//這些類集非常穩定,大多數時候都不會被上次執行,但有時候必須添加或更改類
//它就像這樣:column1:黑白紅柱2:紅白等
d =列(conf3,i)<<獲取值;
//我是索引
//我在一個循環中執行它,每個運行一個不同的表來堆疊,為不同的堆棧集讀取不同的列
//這裡我從配置的第i列獲取值,並將其分配給字符串d - >它是好的嗎?
snowhite =打開(“\ jmp_tables \ snowhite.jmp”,隱形);
//加載要堆疊的表
snowhite << Stack(
列(EVAL(d)),
源標籤列(“類”),堆疊數據列(“密度”),名稱(“非堆疊列”)(保留(:拆分,:批次ID,:設備ID)),輸出表(s)) ;
Re:使用列中的值生成一個字符串,以便將該字符串用作堆棧的參數是的,我認為這可能是一個問題,當我注意到有一些“”的價值。
不幸的是,正如你所說的那樣,列表來自一個excel文件列,它自動在末尾插入空單元格以使所有列具有相同的高度,因此“”值是不可避免的。
我會嘗試你的解決方案,謝謝!
是的,我的解釋是不正確的:d不是字符串而是字符串列表,因為堆棧命令需要列表而不是字符串!
Re:使用列中的值生成一個字符串,以便將該字符串用作堆棧的參數我猜可能是 d 這裡不是字符串,但是字符串列表為<< get values會產生一個列表(或連續變量的矩陣)。如果conf3中的類集在項目數方面不同,則表將具有與最大集合一樣多的行。然後是一些選擇 d 將包含空字符串項,即“”。這可能是報告錯誤的原因(列必須具有“”之外的名稱)。
使用下面的代碼行,您可以刪除所有“”的實例 d 在堆疊之前。這可能是一種更簡單的整理列表的方法,但這應該有效。
而 ( 包含 ( d , “” ) > 0 ,從......中去除 ( d ,包含 ( d , “” ) ) ) ;