欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python讀取指定目錄下Excel表所有sheet的數據

系統 2142 0

最近想嘗試著做一個接口自動化的腳本,首先得需要從文件中讀取數據,很早之前更新過一篇,但是局限性較大,一次性只能讀取一個Excel的一張sheet表,且讀取出的格式也無法滿足要求,找了好多方法,終于研究出來啦。

也遇到了很多坑,因為自學python,沒有系統的學習過,基礎知識也不扎實,且平時工作也沒有用到,過段時間就需要從頭學起 =_=,所以遇到的坑都是基礎知識沒掌握到的原因啦。記錄一下吧,方便以后復習或知識回顧。

現在是坑:

            
              def getTables():
    for excel in os.listdir(data_path):
        print(excel)
        if excel.startswith('~'):
            break
        excelPath = os.path.join(data_path, excel)
        excels = xlrd.open_workbook(excelPath)
        sheetNames = excels.sheet_names()
        print('sheetNames:',sheetNames)
        return sheetNames #這兒我就直接把獲取到的sheet名return了,這是一個list類型

def getData(sheets):
    data = []
    for i in range(2, sheets.nrows):#寫這兒的時候,sheets無法自動帶出nrows,強行寫上去也會報錯
        data.append(dict(zip(sheets.row_values(1), sheets.row_values(i))))
    print('讀取出的data:',data)

getData(getTables())
            
          

一直提示這個: python讀取指定目錄下Excel表所有sheet的數據_第1張圖片

既然list沒有這個方法,len()也可以獲取所有的行數啊,所以我就換成了len(),這樣:

            
              def getData(sheets):
    data = []
    for i in range(2, len(sheets)):
        data.append(dict(zip(sheets.row_values(1), sheets.row_values(i))))
    print('讀取出的data:',data)
            
          

?然而還是不行:

python讀取指定目錄下Excel表所有sheet的數據_第2張圖片

于是再回頭看了下之前寫的test,恍然大悟:

附上正確的代碼

            
              import os,xlrd

data_path = os.path.join('F:\pythonProjrect\itf_simple','data')#os.path.join()函數:連接兩個或更多的路徑名
print(data_path)

#獲取目錄下所有Excel中sheet
def getTables():
    for excel in os.listdir(data_path):#os.listdir() 方法用于返回指定的文件夾包含的文件或文件夾的名字的列表
        print(excel)
        if excel.startswith('~'):
            break
        excelPath = os.path.join(data_path, excel)#拼接路徑
        excels = xlrd.open_workbook(excelPath)
        sheetNames = excels.sheet_names()#獲取目錄下所有sheet的名字,sheetNames為list類型
        print('sheetNames:',sheetNames)
        # 循環從sheetNames中讀取sheet表,返回的是sheet的內存地址
        for sheet in sheetNames:
            table = excels.sheet_by_name(sheet)
        print('table:',table)
        return table
#從getTables()中返回的table中提取數據,sheet中的數據組成一個列表,Excel中的表頭和數據分別組成key:value的格式
def getData(sheets):
    data = []
    for i in range(2, sheets.nrows):
        data.append(dict(zip(sheets.row_values(1), sheets.row_values(i))))
    print('讀取出的data:',data)

getData(getTables())

            
          

這樣就運行出來啦~


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本一区二区三区四区在线观看 | 欧美日韩国产一区 | 91久久久久久 | 久久草在线看 | 色屁屁www免费看视频影院 | 欧美黑人狂野猛交老妇 | 日本欧美国产精品第一页久久 | 午夜影皖普通区 | 日韩综合一区二区 | 国产一级免费在线观看 | 中文区永久区 | 91av短视频 | 92午夜剧场 | 日本喷潮| 中文字幕亚洲一区二区三区 | 色综合天天综一个色天天综合网 | 91伊人| 国产91精品一区二区 | 亚洲精选一区 | 激情91 | 激情五月六月婷婷 | 欧美成人精品欧美一级 | 久久这里只精品国产99热 | 中文字幕免费 | 亚洲精品国精品久久99热 | 狠狠色老熟妇老熟女 | 黑人巨大videosjapan高清 婷婷在线免费观看 | 在线观看视频亚洲 | 成年女人免费v片 | 日韩a级片 | 日本不卡视频在线播放 | 免费午夜不卡毛片 | 欧美中文字幕在线播放 | 污网站在线免费看 | 成人一级视频 | 84pao强力打造| 狠狠色噜噜综合社区 | 黄色av网站免费看 | 欧美一级毛片在线看视频 | 999宝藏网 | 欧美精品激情 |