如何重新命名多個 PDF 表格的列你好呀,
我編寫了一個腳本,可以從多個pdf文件中提取表格。每個表格都會打開,表格名稱與檔案名稱相符。
我發現 PDF 文件的格式並不總是統一的,因此第 3 列的標題可能不同。所以,我想在腳本中新增一個函數,將所有表格的第 3 列重新命名為「Property」。我嘗試過使用 `SetName()` 函數,但它不起作用。也許是我把函數放錯地方了?
// Prepare a directory
tempdir = "C:\folder path";
// Read PDF's
file_lst = Files In Directory( tempdir );
table_lst = {};
For( i = 1, i <= N Items( file_lst ), i++,
Insert Into( table_lst, Open( tempdir || "/" || file_lst[i],
PDF Tables(
Table(
table name(file_lst[i]),
add rows( page( 1 ), Rect( 0.4143, 5.3995, 7.5889, 6.6781 ) ),
column(table_lst[i],3) << set name("Property")
)
)
)
)
)
非常感謝您的幫忙!
資料存取大規模客製化回复:如何重命名多個 PDF 表格的列得到它的工作。 真的很感謝所有的幫助!
回复:如何重命名多個 PDF 表格的列我嘗試了您的方法,並繼續出現錯誤。 因此,我更改為我在上一篇文章中使用的方法。 但是,當我將其粘貼到條目中時,我在代碼中遺漏了一條語句。
insert into( table_lst, dt );
我相信如果你使用下面的代碼,它會為你工作
// Prepare a directory
tempdir = "C:\folder path";
// Read PDF's
file_lst = Files In Directory( tempdir );
table_lst = {};
For( i = 1, i <= N Items( file_lst ), i++,
dt = Open(
tempdir || "/" || file_lst[i],
PDF Tables(
Table( table name( file_lst[i] ), add rows( page( 1 ), Rect( 0.4143, 5.3995, 7.5889, 6.6781 ) ) )
)
);
insert into( table_lst, dt );
Column( table_lst[i], 3 ) << set name( "Property" );
);回复:如何重命名多個 PDF 表格的列顏色已經告訴你你沒有以“;結束字符串tempdir”。
重新編寫腳本確實有助於看到這一點。
回复:如何重命名多個 PDF 表格的列非常感謝您的幫助!
我已經如下更新了我的腳本並且它可以工作,但是在打開所有表之後再次出現相同的 JMP 警報。
有什麼建議麼?
Names Default To Here( 1 );
// Prepare a directory
tempdir = "C:\filepath;
// Read PDF's
file_lst = Files In Directory( tempdir );
table_lst = {};
For( i = 1, i <= N Items( file_lst ), i++,
Insert Into(
table_lst,
Open(
tempdir || "/" || file_lst[i],
PDF Tables( Table( table name( file_lst[i] ), add rows( page( 1 ), Rect( 0.4143, 5.3995, 7.5889, 6.6781 ) ) ) )
)
);
Column( table_lst[i], 3 ) << set name( "Property" );
)
回复:如何重命名多個 PDF 表格的列平衡的Parantheses是至關重要的,
我非常喜歡選項“Reformat Script”(--> Edit-Menu,或 crtl-m)來測試語法是否正確。
回复:如何重命名多個 PDF 表格的列你好,
Column( table_lst[i], 3 ) << set name( "Property" );
在“for”循環之外。
如果將其複制/粘貼到循環中,應該可以。
回复:如何重命名多個 PDF 表格的列非常感謝您的回复@txnelson . 不幸的是,我在運行腳本時收到以下 JMP 警報:

回复:如何重命名多個 PDF 表格的列我相信您的代碼的以下返工將正確重命名該列
// Prepare a directory
tempdir = "C:\folder path";
// Read PDF's
file_lst = Files In Directory( tempdir );
table_lst = {};
For( i = 1, i <= N Items( file_lst ), i++,
dt = Open(
tempdir || "/" || file_lst[i],
PDF Tables(
Table( table name( file_lst[i] ), add rows( page( 1 ), Rect( 0.4143, 5.3995, 7.5889, 6.6781 ) ) )
)
);
Column( table_lst[i], 3 ) << set name( "Property" );
);