基于Python實現(xiàn)在控制臺查看excel的內(nèi)容
背景
最近發(fā)現(xiàn)打開電腦的excel很慢,而且使用到的場景很少,也因為mac自帶了預覽的功能。但是shigen
就是閑不住,想自己搞一個excel預覽軟件,于是在一番技術選型之后,我決定使用python
在控制臺顯示excel的內(nèi)容。 具體的需要的功能有:
- 查看excel的某一行信息
- 查看某個范圍的信息,信息的區(qū)間為[start,end]
- 如果以上的行、起始行、結束行這幾個參數(shù)都沒有傳遞,就分頁展示
于是帶著這樣的設計,我開始了折騰。 技術選型: python
faker
pandas
rich
argparse
參數(shù)列表:
-f
文件的絕對路徑/相對路徑-s
起始列-e
結束列-r
查看的行
生成假數(shù)據(jù)
還記得之前的faker教程嗎?這次派上用場了,我打算用faker模擬生成假數(shù)據(jù),然后用pandas
寫入到excel里邊。 首先我定義了一個user
類,它的屬性有ID,名字、密碼、昵稱、電話、簡介、頭像地址、創(chuàng)建時間和更新時間。 我們先來看一下模擬生成的一條數(shù)據(jù)的效果:
from faker import Faker # 創(chuàng)建Faker對象 fake = Faker('zh_CN') class User: def __init__(self): self.id = fake.random_int(min=1, max=1000) self.name = fake.name() self.password = fake.password() self.nickname = fake.user_name() self.phone = fake.phone_number() self.introduction = fake.text(max_nb_chars=200) self.avatar_url = fake.image_url(width=None, height=None) self.created_at = fake.date_time_this_decade().strftime('%Y-%m-%d %H:%M:%S') self.updated_at = fake.date_time_this_month().strftime('%Y-%m-%d %H:%M:%S') # 創(chuàng)建一個用戶實例 user = User() # 打印用戶屬性 print("ID:", user.id) print("姓名:", user.name) print("密碼:", user.password) print("昵稱:", user.nickname) print("電話:", user.phone) print("自我介紹:", user.introduction) print("頭像地址:", user.avatar_url) print("創(chuàng)建時間:", user.created_at) print("更新時間:", user.updated_at)
ID: 51
姓名: 陳健
密碼: @XGfngbT+3
昵稱: juan96
電話: 18827668763
自我介紹: 日本本站一個深圳.設備感覺只有以上能力特別.不同您的建設報告.
國家都是個人什么地方這種國家參加.他們進行加入汽車個人最大方式.一點以上數(shù)據(jù)生活主要.
兩個一般其他對于那么新聞.一下準備喜歡只要作品經(jīng)濟.注冊最新更多制作名稱還有社會.
自己沒有能力組織不能一定.責任準備市場以后最新單位雖然.信息沒有謝謝表示.
控制重要標準的是之間.本站世界以上如何成為得到.
頭像地址: https://picsum.photos/541/475
創(chuàng)建時間: 2022-04-10 14:00:10
更新時間: 2023-08-11 00:05:08
怎么樣,數(shù)據(jù)是不是很好看。自詡一下,可以用來生成業(yè)務測試需要的基礎數(shù)據(jù)。
下邊是生成120條假數(shù)據(jù)。
# 生成120條用戶數(shù)據(jù) users = [User() for _ in range(120)]
現(xiàn)在,數(shù)據(jù)生成好了,就需要我們將數(shù)據(jù)導入到excel里邊。 首先需要構建dataFrame
對象,直接寫入到users.xlsx
里邊,不得不說,df.to_excel
是真的很好用!
import pandas as pd # 將用戶數(shù)據(jù)轉換為DataFrame data = { "ID": [user.id for user in users], "姓名": [user.name for user in users], "密碼": [user.password for user in users], "昵稱": [user.nickname for user in users], "電話": [user.phone for user in users], "自我介紹": [user.introduction for user in users], "頭像地址": [user.avatar_url for user in users], "創(chuàng)建時間": [user.created_at for user in users], "更新時間": [user.updated_at for user in users] } df = pd.DataFrame(data) # 保存DataFrame為Excel文件 filename = "users.xlsx" df.to_excel(filename, index=False) print(f"數(shù)據(jù)已保存到文件'{filename}'")
數(shù)據(jù)已保存到文件'users.xlsx'
輸出了這樣的內(nèi)容,就代表excel寫入成功了?,F(xiàn)在就有了excel的測試數(shù)據(jù)了。
書寫代碼
現(xiàn)在數(shù)據(jù)已經(jīng)有了,可以用來測試了。此處省略掉shigen
調(diào)試的漫長過程,只展示代碼的截圖,需要源代碼的伙伴可以私聊我哈。
效果驗證
現(xiàn)在,我們的編碼過程已經(jīng)實現(xiàn)了,需要來驗證一下功能了。
獲得代碼的幫助
(base) ~ $ excel -h usage: excel_reader.py [-h] [-f file] [-r ROW] [-s START] [-e END] [-p PAGESIZE] 在控制臺查看 Excel 文件的內(nèi)容 optional arguments: -h, --help show this help message and exit -f file, --file_path file Excel 文件路徑 -r ROW, --row ROW 第幾行 -s START, --start START 起始行 -e END, --end END 結束行 -p PAGESIZE, --pagesize PAGESIZE 每頁顯示的行數(shù)
獲得第10行
excel -f ~/temp/python/推文文章/users.xlsx -r 10
獲得10-12行的內(nèi)容
內(nèi)容有點多,僅展示兩條,看看效果
excel -f ~/temp/python/推文文章/users.xlsx -s 10 -e 12
分頁顯示
這也是這個功能的重頭戲,直接分頁顯示,不需要其它的額外參數(shù)
excel -f ~/temp/python/推文文章/users.xlsx
看到了提示嗎,輸入命令:(n-下一頁, p-上一頁, q-退出),我們來試試。
這就是下一頁的實現(xiàn)了。q
直接退出,我就不再演示了。
以上就是基于Python實現(xiàn)在控制臺查看excel的內(nèi)容的詳細內(nèi)容,更多關于Python查看excel的資料請關注腳本之家其它相關文章!
相關文章
如何使用 Pylint 來規(guī)范 Python 代碼風格(來自IBM)
本文通過詳細的理論介紹和簡單易懂的實例全面介紹了 Python 代碼分析工具 Pylint。相信讀者看完后一定可以輕松地將 Pylint 運用到自己的開發(fā)工程中2018-04-04Python實現(xiàn)暴力破解有密碼的zip文件的方法
這篇文章主要介紹了Python實現(xiàn)暴力破解有密碼的zip文件的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03