官术网_书友最值得收藏!

4.3 使用pyexcel處理Office文件

在Python程序中,可使用pyexcel模塊操作Excel和CSV文件,在使用pyexcel之前需要先安裝pyexcel_xls,安裝命令如下所示。

通過如下命令安裝pyexcel。

4.3.1 使用pyexcel讀取并寫入CSV文件

在下面的實例文件office05.py中,演示了使用pyexcel讀取并寫入CSV文件的過程。

源碼路徑:daima\4\4-3\office05.py

在上述代碼中,首先讀取了文件example.csv中的內容,然后將指定的數據寫入新建CSV文件tab_example.csv中。執行后的效果如圖4-7所示。

圖4-7 執行效果

4.3.2 使用pyexcel讀取指定Excel文件中每個單元格數據

在下面的實例文件read_cell_by_cell.py中,演示使用pyexcel讀取指定Excel文件中每個單元格數據的過程。

源碼路徑:daima\4\4-3\read_cell_by_cell.py

執行后的效果如圖4-8所示。

圖4-8 執行效果

4.3.3 按列讀取并顯示指定Excel文件中每個單元格數據

在下面的實例文件read_column_by_column.py中,演示了使用pyexcel按列讀取并顯示指定Excel文件中每個單元格數據的過程。

源碼路徑:daima\4\4-3\read_column_by_column.py

執行后的效果如圖4-9所示。

圖4-9 執行效果

4.3.4 讀取顯示Excel文件中的所有數據

如果在一個Excel文件中有多個Sheet,如文件在multiple-sheets-example.xls中有3個Sheet,里面的數據如圖4-10所示。

通過下面的實例文件read_excel_book.py,可以讀取顯示上述multiple-sheets-example.xls文件中的所有數據。

圖4-10 3個Sheet

源碼路徑:daima\4\4-3\read_excel_book.py

執行后會輸出:

4.3.5 將3組數據導入新建的Excel文件

通過下面的實例文件write_excel_book.py,可以將3組數據導入新建的multiple-sheets1.xls文件中,3組數據分別對應于里面的3個Sheet。

源碼路徑:daima\4\4-3\write_excel_book.py

執行后會創建擁有3個Sheet的Excel文件,如圖4-11所示。

圖4-11 創建的Excel文件

4.3.6 以多種方式獲取Excel數據

在下面的實例文件series.py中,演示了使用pyexcel以多種方式獲取Excel數據的過程。

源碼路徑:daima\4\4-3\series.py

通過上述代碼以多種方式獲取了Excel中的數據,包括一維數組順序和逆序、二維數組順序和逆序。執行后會輸出:

4.3.7 將數據分別導入Excel文件和SQLite數據庫

在下面的實例文件import_xls_into_database_via_sqlalchemy.py中,演示了使用pyexcel將數據分別導入Excel文件和SQLite數據庫的過程。

源碼路徑:daima\4\4-3\import_xls_into_database_via_sqlalchemy.py

執行后會輸出:

4.3.8 在Flask Web項目中使用pyexcel處理數據

在下面的實例代碼中,演示了在Flask Web項目中使用pyexcel處理數據的過程。

1)編寫程序文件pyexcel_server.py,首先通過函數upload()實現文件上傳功能,將上傳的Excel文件導出為JSON格式顯示在頁面中;然后定義數據對象data,在里面保存了將要處理的數據;最后通過函數download()實現文件下載功能,使用data對象中的數據生成一個CSV文件并下載下來。文件pyexcel_server.py的具體實現代碼如下所示。

源碼路徑:daima\4\4-3\memoryfile\pyexcel_server.py

2)編寫模板文件upload.html實現了文件上傳界面效果,具體實現代碼如下所示。

源碼路徑:daima\4\4-2\memoryfile\templates\upload.html

在運行本實例程序之前確保已經安裝gunicorn,然后通過如下命令運行本程序。

在瀏覽器中輸入“http://127.0.0.1:5000/upload”后會顯示文件上傳界面,如圖4-12所示。

圖4-12 文件上傳界面

單擊“選擇文件”按鈕后選擇一個上傳文件,單擊upload按鈕后將在頁面中顯示上傳文件的JSON格式數據,如圖4-13所示。

圖4-13 顯示上傳文件的JSON格式數據

在瀏覽器中輸入“http://127.0.0.1:5000/download”后,會下載指定的CSV文件export.csv,這個文件中的數據是從data中導入并生成的。執行效果如圖4-14所示。

圖4-14 下載指定文件export.csv

主站蜘蛛池模板: 田阳县| 乃东县| 城市| 霞浦县| 昌乐县| 武穴市| 都江堰市| 陆良县| 郎溪县| 湘潭市| 墨江| 滨州市| 佛教| 济南市| 元阳县| 乌兰察布市| 策勒县| 勃利县| 始兴县| 洛南县| 民和| 上思县| 平塘县| 洛隆县| 汉川市| 会泽县| 东兴市| 上饶市| 湖口县| 金乡县| 开鲁县| 齐齐哈尔市| 阳泉市| 靖州| 中卫市| 同仁县| 镇安县| 雷山县| 海口市| 庆安县| 镇雄县|