最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python遍歷文件夾下所有excel文件

 更新時(shí)間:2018年01月03日 10:06:24   作者:法克大米  
這篇文章主要介紹了python遍歷文件夾下所有excel文件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

大數(shù)據(jù)處理經(jīng)常要用到一堆表格,然后需要把數(shù)據(jù)導(dǎo)入一個(gè)list中進(jìn)行各種算法分析,簡單講一下自己的做法:

1.如何讀取excel文件

網(wǎng)上的版本很多,在xlrd模塊基礎(chǔ)上,找到一些源碼:

import xdrlib ,sys 
import xlrd 
def open_excel(file="C:/Users/flyminer/Desktop/新建 Microsoft Excel 工作表.xlsx"): 
    data = xlrd.open_workbook(file) 
    return data 
#根據(jù)索引獲取Excel表格中的數(shù)據(jù)  參數(shù):file:Excel文件路徑   colnameindex:表頭列名所在行的所以 ,by_index:表的索引 
def excel_table_byindex(file="C:/Users/flyminer/Desktop/新建 Microsoft Excel 工作表.xlsx",colnameindex=0,by_index=0): 
  data = open_excel(file) 
  table = data.sheets()[by_index] 
  nrows = table.nrows #行數(shù) 
  ncols = table.ncols #列數(shù) 
  colnames = table.row_values(colnameindex) #某一行數(shù)據(jù) 
  list =[] 
  for rownum in range(1,nrows): 
     row = table.row_values(rownum) 
     if row: 
       app = {} 
       for i in range(len(colnames)): 
        app[colnames[i]] = row[i] 
       list.append(app) 
  return list 
#根據(jù)名稱獲取Excel表格中的數(shù)據(jù)  參數(shù):file:Excel文件路徑   colnameindex:表頭列名所在行的所以 ,by_name:Sheet1名稱 
def excel_table_byname(file="C:/Users/flyminer/Desktop/新建 Microsoft Excel 工作表.xlsx",colnameindex=0,by_name=u'Sheet1'): 
  data = open_excel(file) 
  table = data.sheet_by_name(by_name) 
  nrows = table.nrows #行數(shù) 
  colnames = table.row_values(colnameindex) #某一行數(shù)據(jù) 
  list =[] 
  for rownum in range(1,nrows): 
     row = table.row_values(rownum) 
     if row: 
       app = {} 
       for i in range(len(colnames)): 
        app[colnames[i]] = row[i] 
       list.append(app) 
  return list 
 
def main(): 
  tables = excel_table_byindex() 
  for row in tables: 
    print(row) 
  tables = excel_table_byname() 
  for row in tables: 
    print(row) 
if __name__=="__main__": 
  main() 

最后一句是重點(diǎn),所以這里也給代碼人點(diǎn)個(gè)贊!

最后一句讓代碼里的函數(shù)都可以被復(fù)用,簡單地說:假設(shè)文件名是a,在程序中import a以后,就可以用a.excel_table_byname()和a.excel_table_byindex()這兩個(gè)超級(jí)好用的函數(shù)了。

2.然后是遍歷文件夾取得excel文件以及路徑:,原創(chuàng)代碼如下:

import os 
import xlrd 
import test_wy 
xpath="E:/唐偉捷/電力/電力系統(tǒng)總文件夾/舟山電力" 
xtype="xlsx" 
typedata = [] 
name = [] 
raw_data=[] 
file_path=[] 
def collect_xls(list_collect,type1): 
  #取得列表中所有的type文件 
  for each_element in list_collect: 
    if isinstance(each_element,list): 
      collect_xls(each_element,type1) 
    elif each_element.endswith(type1): 
       typedata.insert(0,each_element) 
  return typedata 
#讀取所有文件夾中的xls文件 
def read_xls(path,type2): 
  #遍歷路徑文件夾 
  for file in os.walk(path): 
    for each_list in file[2]: 
      file_path=file[0]+"/"+each_list 
      #os.walk()函數(shù)返回三個(gè)參數(shù):路徑,子文件夾,路徑下的文件,利用字符串拼接file[0]和file[2]得到文件的路徑 
      name.insert(0,file_path) 
    all_xls = collect_xls(name, type2) 
  #遍歷所有type文件路徑并讀取數(shù)據(jù) 
  for evey_name in all_xls: 
    xls_data = xlrd.open_workbook(evey_name) 
    for each_sheet in xls_data.sheets(): 
      sheet_data=test_wy.excel_table_byname(evey_name,0,each_sheet.name) 
      #請(qǐng)參考讀取excel文件的代碼 
      raw_data.insert(0, sheet_data) 
      print(each_sheet.name,":Data has been done.") 
  return raw_data 
a=read_xls(xpath,xtype) 
print("Victory") 

歡迎各種不一樣的想法。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用python實(shí)現(xiàn)定時(shí)報(bào)天氣的示例代碼

    使用python實(shí)現(xiàn)定時(shí)報(bào)天氣的示例代碼

    本文主要介紹了使用python實(shí)現(xiàn)定時(shí)報(bào)天氣,只需要讓爬蟲程序每天自動(dòng)為你發(fā)送,下面就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2021-11-11
  • python二叉樹遍歷的實(shí)現(xiàn)方法

    python二叉樹遍歷的實(shí)現(xiàn)方法

    這篇文章主要介紹了python二叉樹遍歷的實(shí)現(xiàn)方法,使用了三種遍歷:先序遍歷,中序遍歷,后序遍歷,方法大家參考使用
    2013-11-11
  • Python如何向SQLServer存儲(chǔ)二進(jìn)制圖片

    Python如何向SQLServer存儲(chǔ)二進(jìn)制圖片

    這篇文章主要介紹了Python如何向SQLServer存儲(chǔ)二進(jìn)制圖片,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python如何控制進(jìn)程或者線程的個(gè)數(shù)

    python如何控制進(jìn)程或者線程的個(gè)數(shù)

    這篇文章主要介紹了python如何控制進(jìn)程或者線程的個(gè)數(shù),幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • Python實(shí)現(xiàn)對(duì)字符串中字符提取校驗(yàn)

    Python實(shí)現(xiàn)對(duì)字符串中字符提取校驗(yàn)

    眾所周知,python之所以很方便在一定程度上是因?yàn)殡S時(shí)都可能有人又創(chuàng)作了一個(gè)好用又方便的python非標(biāo)準(zhǔn)庫。本文就來用Python實(shí)現(xiàn)對(duì)字符串中字符進(jìn)行提取校驗(yàn),需要的可以參考一下
    2022-10-10
  • python利用正則表達(dá)式搜索單詞示例代碼

    python利用正則表達(dá)式搜索單詞示例代碼

    正則表達(dá)式本身是一種小型的、高度專業(yè)化的編程語言,下面這篇文章主要給大家介紹了關(guān)于python利用正則表達(dá)式實(shí)現(xiàn)搜索單詞的相關(guān)資料,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • python新手練習(xí)實(shí)例之萬年歷

    python新手練習(xí)實(shí)例之萬年歷

    最近進(jìn)行python基礎(chǔ)培訓(xùn),課下作業(yè)制作萬年歷,之前沒做過,感覺里面還是有很多需要學(xué)的,下面這篇文章主要給大家介紹了關(guān)于python新手練習(xí)實(shí)例之萬年歷的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python使用正則表達(dá)式報(bào)錯(cuò):nothing?to?repeat?at?position?0的解決方案

    Python使用正則表達(dá)式報(bào)錯(cuò):nothing?to?repeat?at?position?0的解決方案

    今天在使用python 正則模塊匹配字符串時(shí)遇到了這個(gè)問題,分享給大家,這篇文章主要給大家介紹了關(guān)于Python使用正則表達(dá)式報(bào)錯(cuò)nothing?to?repeat?at?position?0的解決方案,需要的朋友可以參考下
    2023-03-03
  • pandas基礎(chǔ)?Series與Dataframe與numpy對(duì)二進(jìn)制文件輸入輸出

    pandas基礎(chǔ)?Series與Dataframe與numpy對(duì)二進(jìn)制文件輸入輸出

    這篇文章主要介紹了pandas基礎(chǔ)Series與Dataframe與numpy對(duì)二進(jìn)制文件輸入輸出,series是一種一維的數(shù)組型對(duì)象,它包含了一個(gè)值序列和一個(gè)數(shù)據(jù)標(biāo)簽
    2022-07-07
  • 基于Python實(shí)現(xiàn)地標(biāo)景點(diǎn)識(shí)別功能

    基于Python實(shí)現(xiàn)地標(biāo)景點(diǎn)識(shí)別功能

    地標(biāo)景點(diǎn)識(shí)別是一種基于計(jì)算機(jī)視覺技術(shù)的應(yīng)用,旨在通過對(duì)圖像進(jìn)行分析和處理,自動(dòng)識(shí)別出圖片中的地標(biāo)景點(diǎn),本文將介紹地標(biāo)景點(diǎn)識(shí)別的背景和原理,并使用Python編程語言來實(shí)現(xiàn)一個(gè)簡單的地標(biāo)景點(diǎn)識(shí)別系統(tǒng),感興趣的朋友可以參考下
    2024-01-01

最新評(píng)論

女性| 安仁县| 大厂| 宁国市| 平度市| 隆昌县| 青河县| 城固县| 河津市| 万山特区| 清镇市| 东源县| 东明县| 枞阳县| 云和县| 鄂伦春自治旗| 霍山县| 白水县| 云南省| 晋中市| 泰和县| 贵南县| 泰顺县| 宁国市| 漳浦县| 宁波市| 元谋县| 延川县| 民县| 广灵县| 商洛市| 汝南县| 临朐县| 成安县| 轮台县| 永兴县| 永新县| 张掖市| 伊川县| 额济纳旗| 阜阳市|