目錄中有一個excel檔案串列。輸入是必須轉換為 pdf 的作業表名稱串列。所以我的代碼必須打開 excel 檔案,查找該特定的 excel 表并將該表轉換為 pdf。任何人都可以建議使用哪個庫并為此進行處理。如何使用包含所有 excel 檔案中所有必需作業表名稱串列的變數作為打開所需 Excel 作業表的引數。謝謝你。
輸入:file1.xls file2.xls file3.xls
檔案 1 中的作業表:標題、內容、摘要
file2 中的作業表:標題、內容、摘要
file3 中的作業表:標題、內容、摘要
檔案 1 中的必需表:標題
檔案 2 中的必需表:內容
檔案 3 中的必需表:摘要
輸出:
file1_Title.pdf
file2_Contents.pdf
file3_Summary.pdf
方法:我有一個 python 串列,其中包含每個 excel 檔案中的所有作業表。以及包含要轉換的所需作業表的 python 串列。
import xlrd
book = xlrd.open_workbook(PathforInputFile)
AllSheets = book.sheet_names()
RequiredSheet= line.split("\t")
代碼輸出:
['標題'、'內容'、'摘要']
['標題']
['標題'、'內容'、'摘要']
['內容']
['標題'、'內容'、'摘要']
['概括']
uj5u.com熱心網友回復:
Openpyxl 和 aspose-cells 似乎是最相關的,或者至少是我能找到的最好的通用 excel 選項。
這是我找到的一篇文章。https://blog.aspose.com/2021/04/02/convert-excel-files-to-pdf-in-python/
但是,我還建議您查看我建議的兩個庫的檔案。我認為他們可以讓你走上正軌。
uj5u.com熱心網友回復:
要瀏覽檔案目錄,請使用 glob:
dir = (root directory path without files)
for f_csv in glob2.iglob(os.path.join(dir, '*.csv')): # '*.csv' can be changed to the file extension of choice like .xlsx, etc.
# run your ops here per file
然后,您可以添加基礎框架,以便將多次執行此操作的代碼行保存到相同型別的檔案中。我使用了 openpyxl 和 pandas,但是一旦你打開作業表并在 xlrd 中使用 index(0) 你就會從我離開的地方開始:
dir = (root directory path without files)
for f_csv in glob2.iglob(os.path.join(dir, '*.csv')):
wb = load_workbook(f_csv)
# Access to a worksheet named 'no_header'
ws = wb['no_header']
# Convert to DataFrame
df = pd.DataFrame(ws.values)
現在最后一部分可以用不同的方式完成,但我喜歡將作業表轉換為 Pandas,然后使用 df.to_html() 將其放到網站上進行下載。
df.to_html(buf=None, columns=None, col_space=None, header=True, index=True, na_rep='NaN', formatters=None, float_format=None, sparsify=None, index_names=True, justify=None, max_rows=None, max_cols=None, show_dimensions=False, decimal='.', bold_rows=True, classes=None, escape=True, notebook=False, border=None, table_id=None, render_links=False, encoding=None)
如果 args 沒有意義或者您想自定義方法,我會閱讀 Pandas.dataframe.to_html() 上的檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/323939.html
