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

Python對(duì)多個(gè)sheet表進(jìn)行整合實(shí)例講解

 更新時(shí)間:2021年04月22日 07:54:52   作者:小妮淺淺  
在本篇文章里小編給大家整理的是一篇關(guān)于Python對(duì)多個(gè)sheet表進(jìn)行整合實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。

1、說(shuō)明

xlwt模塊是非追加寫(xiě)入.xls模塊,所以要一次性寫(xiě)入for循環(huán)和列表,這樣就沒(méi)有追加和非追加的說(shuō)法。

并且將Excel表合并,將每一個(gè)Excel表作為行,即行合并,換個(gè)想法,將Excel表中的標(biāo)簽作為列,可以進(jìn)行列合并,即將不同文件中相同標(biāo)簽組成的不同標(biāo)簽合并,可以先將不同文件中相同的標(biāo)簽合并,不同文件中相同的標(biāo)簽組成一個(gè)列表,然后將前面組成的不同標(biāo)簽合并,就可以得到所有Excel文件的內(nèi)容。

2、實(shí)例

#導(dǎo)入xlrd和xlwt模塊
#xlrd模塊是讀取.xls的Excel文件的模塊,xlwt模塊是以非追加的方式寫(xiě).xls的Excel文件的模塊
import xlrd,xlwt
#導(dǎo)入要讀的文件的路徑
a=["C:/Users/Desktop/m1.xls","C:/Users/Desktop/m2.xls"]
#定義要寫(xiě)的文件的路徑
b="C:/Users/Desktop/m3.xls"
#定義函數(shù),判斷打開(kāi)文件是否會(huì)發(fā)生異常
def open(fileaddress):
    try:
#通過(guò)xlrd模塊的open_workbook()方法,打開(kāi)一個(gè)Excel文件,定義變量fo為文件句柄
        fo=xlrd.open_workbook(fileaddress)
        return fo
    except Exception as e:
        print("error!"+str(e))
#定義函數(shù),得到某一個(gè)Excel文件下某一個(gè)標(biāo)簽的行數(shù)
def getrows(fo,num):
    table=fo.sheets()[num]
#sheets()函數(shù)為xlrd模塊自帶函數(shù),能以列表的形式返回該Excel文件的標(biāo)簽
    n=table.nrows
#nrows為xlrd模塊自帶函數(shù),通過(guò)某一個(gè)標(biāo)簽調(diào)用,可得到該標(biāo)簽的行數(shù)
    return n
"""
定義函數(shù),可通過(guò)Excel文件路徑和標(biāo)簽的序列編號(hào)得到
任意Excel文件任意標(biāo)簽的內(nèi)容,且以列表的形式返回
"""
def getsheetcontents(fileaddress,num):
    avalue=[]
    fo=open(fileaddress)
    table=fo.sheets()[num]
    n=table.nrows
    for i in range(0,n):
        """
        row_values()函數(shù)為xlrd模塊自帶函數(shù),通過(guò)某一個(gè)標(biāo)簽調(diào)用,
        可得到該標(biāo)簽的行數(shù)據(jù),且這些行數(shù)據(jù)以列表形式返回,標(biāo)簽中
        一列為一個(gè)列表的元素
        """
        rdate=table.row_values(i)
        avalue.append(rdate)
    return avalue
svalue=[]
k=[]
#通過(guò)for循環(huán)得到所有Excel文件的標(biāo)簽數(shù),且以列表的形式返回
for i in a:
    fo=open(i)
    k.append(len(fo.sheets()))
#對(duì)這些標(biāo)簽數(shù)進(jìn)行升序排序
k.sort()
#通過(guò)for循環(huán)把這些Excel文件中不同標(biāo)簽的所有內(nèi)容放在列表svalue中
for i in range(0,k[len(k)-1]):
#通過(guò)for循環(huán)把不同Excel文件的同一個(gè)標(biāo)簽放在列表bvalue中
    bvalue=[]
    for j in a:
        print("正在讀取"+str(j)+"的第"+str(i)+"個(gè)標(biāo)簽")
        bvalue.append(getsheetcontents(j,i))
    svalue.append(bvalue)
#svalue里面就是所有Excel文件的內(nèi)容
 
#通過(guò)xlwt模塊的Workbook()創(chuàng)建一個(gè).xls文件,定義一個(gè)變量fw為文件句柄
fw=xlwt.Workbook()
line=0
#add_sheet()函數(shù)為xlwt模塊自帶函數(shù),可得到一個(gè)自定義標(biāo)簽
#定義變量ws為標(biāo)簽句柄
ws=fw.add_sheet("sheet1")
"""
通過(guò)for循環(huán)遍歷svalue列表,把最終得到的
某個(gè)標(biāo)簽?zāi)硞€(gè)文件某行某列的數(shù)據(jù)寫(xiě)入新標(biāo)簽中
"""
for i in range(0,len(svalue)):
    for j in range(0,len(svalue[i])):
        for m in range(0,len(svalue[i][j])):
            for n in range(0,len(svalue[i][j][m])):
                ws.write(line,n,svalue[i][j][m][n])
#通過(guò)line可得到不斷增加的行數(shù)
            line+=1
print("合并完成")
#save()函數(shù)為xlwt自帶函數(shù),將合并好的Excel文件保存到某個(gè)路徑下
fw.save(b)
#xlrd模塊和xlwt模塊都沒(méi)有close()函數(shù),即用這兩個(gè)模塊打開(kāi)文件不用關(guān)閉文件

實(shí)例擴(kuò)展:

實(shí)例一:

#!/usr/bin/env python3
#讀取Excel文件
import pandas as pd
input_file = "F://python入門(mén)//數(shù)據(jù)2//appname_test.xlsx"
output_file = "F://python入門(mén)//數(shù)據(jù)2//output.xlsx"
data_frame = pd.read_excel(input_file,sheet_name='sum1',index_col = None)
data_frame_country = data_frame['country']
category_countory = set(data_frame_country)
writer = pd.ExcelWriter(output_file)
for country in list(category_countory):
  df = data_frame[data_frame['country'] == country]
  df.to_excel(writer, sheet_name= country ,index=False)
writer.save()

實(shí)例二:

#!/usr/bin/env python3
#讀取Excel文件
import pandas as pd
input_file = "F://python入門(mén)//數(shù)據(jù)2//appname_test.xlsx"
data_frame = pd.read_excel(input_file,sheet_name='sum1',index_col = None)
data_frame_country = data_frame['country']
category_countory = set(data_frame_country)
for country in list(category_countory):
  df = data_frame[data_frame['country'] == country]
  df.to_csv("F:/python入門(mén)/數(shù)據(jù)2/table_{}.csv".format(country), encoding="gbk", index=False)

到此這篇關(guān)于Python對(duì)多個(gè)sheet表進(jìn)行整合實(shí)例講解的文章就介紹到這了,更多相關(guān)Python如何對(duì)多個(gè)sheet表進(jìn)行整合內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python獲取外網(wǎng)ip地址的方法總結(jié)

    python獲取外網(wǎng)ip地址的方法總結(jié)

    這篇文章主要介紹了python獲取外網(wǎng)ip地址的方法,實(shí)例總結(jié)了四種常用的獲取外網(wǎng)IP地址的技巧,需要的朋友可以參考下
    2015-07-07
  • 通過(guò)代碼實(shí)例了解Python異常本質(zhì)

    通過(guò)代碼實(shí)例了解Python異常本質(zhì)

    這篇文章主要介紹了通過(guò)代碼實(shí)例了解Python1異常本質(zhì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python判斷字符串是否是中英文小技巧總結(jié)

    Python判斷字符串是否是中英文小技巧總結(jié)

    這篇文章主要給大家介紹了關(guān)于Python判斷字符串是否是中英文小技巧的相關(guān)資料,這個(gè)在實(shí)際應(yīng)用中十分常見(jiàn),文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • python Autopep8實(shí)現(xiàn)按PEP8風(fēng)格自動(dòng)排版Python代碼

    python Autopep8實(shí)現(xiàn)按PEP8風(fēng)格自動(dòng)排版Python代碼

    這篇文章主要介紹了python Autopep8實(shí)現(xiàn)按PEP8風(fēng)格自動(dòng)排版Python代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python機(jī)器人行走步數(shù)問(wèn)題的解決

    python機(jī)器人行走步數(shù)問(wèn)題的解決

    這篇文章主要為大家詳細(xì)介紹了python機(jī)器人行走步數(shù)問(wèn)題的解決,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • jupyter?notebook內(nèi)核配置的圖文教程

    jupyter?notebook內(nèi)核配置的圖文教程

    Jupyter?Notebook是基于網(wǎng)頁(yè)的用于交互計(jì)算的應(yīng)用程序,下面這篇文章主要給大家介紹了關(guān)于jupyter?notebook內(nèi)核配置的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • tensorflow 20:搭網(wǎng)絡(luò),導(dǎo)出模型,運(yùn)行模型的實(shí)例

    tensorflow 20:搭網(wǎng)絡(luò),導(dǎo)出模型,運(yùn)行模型的實(shí)例

    這篇文章主要介紹了tensorflow 20:搭網(wǎng)絡(luò),導(dǎo)出模型,運(yùn)行模型的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Python實(shí)現(xiàn)文件只讀屬性的設(shè)置與取消

    Python實(shí)現(xiàn)文件只讀屬性的設(shè)置與取消

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)設(shè)置文件只讀與取消文件只讀的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-07-07
  • Python編程快速上手——瘋狂填詞程序?qū)崿F(xiàn)方法分析

    Python編程快速上手——瘋狂填詞程序?qū)崿F(xiàn)方法分析

    這篇文章主要介紹了Python瘋狂填詞程序?qū)崿F(xiàn)方法,結(jié)合具體案例形式分析了Python填詞算法相關(guān)的文件讀寫(xiě)、正則匹配、數(shù)據(jù)遍歷等操作技巧,需要的朋友可以參考下
    2020-02-02
  • 基于Python實(shí)現(xiàn)四維圖像繪制系統(tǒng)

    基于Python實(shí)現(xiàn)四維圖像繪制系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了如何基于Python語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的四維圖像繪制系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-09-09

最新評(píng)論

静乐县| 综艺| 纳雍县| 江口县| 永济市| 永德县| 伊川县| 陇南市| 白水县| 浦县| 甘泉县| 濮阳县| 固始县| 双峰县| 陇川县| 车险| 奇台县| 攀枝花市| 历史| 陇川县| 沁源县| 金平| 镇坪县| 彩票| 忻城县| 南涧| 三台县| 盐城市| 靖州| 射洪县| 云梦县| 南投县| 莱芜市| 年辖:市辖区| 龙江县| 泸水县| 兴安县| 洛宁县| 德兴市| 齐河县| 巍山|