欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python制作本地Excel的查詢與生成的程序問題

 更新時間:2022年06月29日 11:55:28   作者:畢加鎖  
最近遇到這樣一個項目需求制作一個程序有一個簡單的查詢入口實現Excel的查詢與生成,今天教大家利用Python制作本地Excel的查詢與生成的程序,感興趣的朋友跟隨小編一起看看吧

前言

今天教大家利用Python制作本地Excel的查詢與生成的程序

需求

制作一個程序 有一個簡單的查詢入口 實現Excel的查詢與生成

實驗步驟

1打開一個exe 彈出一個界面

2有一個查詢 卡號 點擊查詢

3下方展示查詢的結果 同時將這個查詢的結果 追加到一個新的結果Excel文件里

4新的結果Excel文件 格式和源文件格式相同 但是每次都在最后追加

今天教大家利用Python制作本地Excel的查詢與生成的程序

Excel預覽圖片

1.2 導入模塊并讀取Excel文件

等會要用的模塊有:pandas、os、xlwt和uuid
用import導入的代碼:

import pandas, os, xlwt, uuid

導入好后,就要讀取Excel文件了。讀取Excel要用到pandas的read_excel函數。

try:
    exl = pandas.read_excel(aim_path)
except:
    print('找不到文件!請檢查一下文件路徑或文件是否存在')
    os._exit(0)

剛剛導入os模塊就是為了做異常捕獲找不到文件時的退出。

查詢

2.1 Excel的索引與輸入

為了方便后面查詢,要把DataFrame的索引(index)設為查詢輸入的卡號。接著,輸出以卡號為索引的DF,以便用戶查詢。最后,就開始循環(huán)輸入了。

exl.set_index('卡號', inplace = True)
print(f'{exl}\n')
while 1:
    try:
        idx = input('卡號(輸入“退出”即可退出):')
        if idx == '退出':
            os._exit(0)

2.2 開始查詢、豐富程序

查詢用dataframe.loc[index]來完成,最后輸出返回的Series。為了避免用戶輸入非卡號信息,就又加了異常捕獲。

        res = exl.loc[idx]
        print(f'\n{res}\n')
    except KeyError:
        print('你的卡號可能輸錯了!我找不到這個卡號的人哦~\n')
        continue
    except:
        print('有些錯誤發(fā)生了!\n')
        continue

追加查詢結果到Excel

3.1 讀取或新建Excel

3.1.1 讀取

讀取跟上面一樣,用read_excel

    try:
        res_exl = pandas.read_excel(res_path)

3.1.2 新建Workbook和Sheet

現在輪到xlwt模塊大展身手啦~ 用Workbook函數來新建Workbook;用add_sheet函數新增Sheet

    except:
        workbook = xlwt.Workbook()
        sheet = workbook.add_sheet('new')
        col = 0

3.1.2 寫入Column

在Column的位置,需要填入查詢的Excel的列索引,用

list(pandas.read_excel(aim_path).columns.values)

可以獲取到。然后把列索引以xlwt.write填進去,最后把DF保存再讀取這個Excel。

for i in list(pandas.read_excel(aim_path).columns.values):
            sheet.write(0, col, i)
            col += 1
        workbook.save(res_path)
        res_exl = pandas.read_excel(res_path)

3.2 追加結果

首先,把結果res變量設置成列表類型。然后,在這個列表里面新增結果沒有的卡號。最后把這個列表設置成一個Series(索引為查詢的Excel的列索引)。

    res_series_data = list(res)
    res_series_data.insert(2, idx)
    res_series = pandas.Series(
        res_series_data, 
        index = list(
            pandas.read_excel(aim_path).columns.values
        )
    )

現在建好了Series,準備追加了。追加完后還要保存這個Excel。

    res_exl.loc[str(uuid.uuid1())] = res_series
    try:
        res_exl.to_excel(res_path, index = False)
    except:
        print('寫入失敗')

這里用了uuid.uuid1來隨機產生索引,避免重復而修改其它人的值。最后幾行就是保存的操作,python index = False的意思就是把索引隱藏掉了。

完整代碼

try:
    exl = pandas.read_excel(aim_path)
except:
    print('找不到文件!請檢查一下文件路徑或文件是否存在')
    os._exit(0)
exl.set_index('卡號', inplace = True)
print(f'{exl}\n')
while 1:
    try:
        idx = input('卡號(輸入“退出”即可退出):')
        if idx == '退出':
            os._exit(0)
        res = exl.loc[idx]
        print(f'\n{res}\n')
    except KeyError:
        print('你的卡號可能輸錯了!我找不到這個卡號的人哦~\n')
        continue
    except:
        print('有些錯誤發(fā)生了!\n')
        continue
 
    try:
        res_exl = pandas.read_excel(res_path)
    except:
        workbook = xlwt.Workbook()
        sheet = workbook.add_sheet('new')
        col = 0
        for i in list(pandas.read_excel(aim_path).columns.values):
            sheet.write(0, col, i)
            col += 1
        workbook.save(res_path)
        res_exl = pandas.read_excel(res_path)
    res_series_data = list(res)
    res_series_data.insert(2, idx)
    res_series = pandas.Series(
        res_series_data, 
        index = list(
            pandas.read_excel(aim_path).columns.values
        )
    )
    res_exl.loc[str(uuid.uuid1())] = res_series
    try:
        res_exl.to_excel(res_path, index = False)
    except:
        print('寫入失敗')

到此這篇關于利用Python制作本地Excel的查詢與生成的程序的文章就介紹到這了,更多相關PythonExcel查詢生成的程序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 如何在Python中對文件進行操作

    如何在Python中對文件進行操作

    這篇文章主要介紹了如何在Python中對文件進行操作,文章圍繞主題展開內容,即使用Python中內置的open()函數來打開文件,返回文件對象,并對文件進行處理
    2022-08-08
  • pytorch 共享參數的示例

    pytorch 共享參數的示例

    今天小編就為大家分享一篇pytorch 共享參數的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python 判斷文件還是文件夾的簡單實例

    python 判斷文件還是文件夾的簡單實例

    今天小編就為大家分享一篇python 判斷文件還是文件夾的簡單實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 在前女友婚禮上,用Python破解了現場的WIFI還把名稱改成了

    在前女友婚禮上,用Python破解了現場的WIFI還把名稱改成了

    今日重點:① python暴力拿下WiFi密碼,②python拿下路由器管理頁面,文中有非常詳細的代碼示例,干貨滿滿,,需要的朋友可以參考下
    2021-05-05
  • Python制作一個仿QQ辦公版的圖形登錄界面

    Python制作一個仿QQ辦公版的圖形登錄界面

    這篇文章主要介紹了Python制作一個仿QQ辦公版的圖形登錄界面,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • python爬蟲之請求模塊urllib的基本使用

    python爬蟲之請求模塊urllib的基本使用

    urllib是python內置的HTTP請求庫,是一個用來處理網絡請求的python標準庫,下面這篇文章主要給大家介紹了關于python爬蟲之請求模塊urllib的基本使用,需要的朋友可以參考下
    2022-04-04
  • python scrapy爬蟲代碼及填坑

    python scrapy爬蟲代碼及填坑

    這篇文章主要介紹了python scrapy爬蟲代碼及填坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python 使用 docopt 解析json參數文件過程講解

    Python 使用 docopt 解析json參數文件過程講解

    這篇文章主要介紹了Python 使用 docopt 解析json參數文件過程講解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python3內置函數chr和ord實現進制轉換

    Python3內置函數chr和ord實現進制轉換

    這篇文章主要介紹了Python3內置函數chr和ord實現進制轉換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • 實例Python處理XML文件的方法

    實例Python處理XML文件的方法

    這篇文章主要介紹了實例Python處理XML文件的方法,包括用Python處理XML大文件的情況,需要的朋友可以參考下
    2015-08-08

最新評論