婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python對多個sheet表進行整合實例講解

Python對多個sheet表進行整合實例講解

熱門標簽:地圖標注的意義點 南京銷售外呼系統軟件 地圖制圖標注位置改變是移位嗎 蓋州市地圖標注 浙江電銷卡外呼系統好用嗎 上海機器人外呼系統哪家好 房產電銷外呼系統 地圖標注微信發送位置不顯示 315電話機器人廣告

1、說明

xlwt模塊是非追加寫入.xls模塊,所以要一次性寫入for循環和列表,這樣就沒有追加和非追加的說法。

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

2、實例

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

實例擴展:

實例一:

#!/usr/bin/env python3
#讀取Excel文件
import pandas as pd
input_file = "F://python入門//數據2//appname_test.xlsx"
output_file = "F://python入門//數據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()

實例二:

#!/usr/bin/env python3
#讀取Excel文件
import pandas as pd
input_file = "F://python入門//數據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入門/數據2/table_{}.csv".format(country), encoding="gbk", index=False)

到此這篇關于Python對多個sheet表進行整合實例講解的文章就介紹到這了,更多相關Python如何對多個sheet表進行整合內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python合并Excel表(多sheet)的實現
  • python pandas合并Sheet,處理列亂序和出現Unnamed列的解決
  • Python使用openpyxl復制整張sheet
  • python 合并多個excel中同名的sheet

標簽:雙鴨山 臨汾 金華 赤峰 日照 貴州 陽泉 克拉瑪依

巨人網絡通訊聲明:本文標題《Python對多個sheet表進行整合實例講解》,本文關鍵詞  Python,對,多個,sheet,表,進行,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python對多個sheet表進行整合實例講解》相關的同類信息!
  • 本頁收集關于Python對多個sheet表進行整合實例講解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 汤阴县| 乐平市| 新宁县| 新乡市| 项城市| 陕西省| 鱼台县| 南木林县| 高雄市| 友谊县| 仁寿县| 尼勒克县| 郓城县| 共和县| 齐河县| 晋州市| 金川县| 安陆市| 同仁县| 宝鸡市| 洪湖市| 罗田县| 响水县| 德州市| 通辽市| 新化县| 巩义市| 安国市| 滕州市| 山阴县| 商都县| 蓬莱市| 青岛市| 荆门市| 普洱| 察雅县| 灌云县| 彭阳县| 务川| 峨眉山市| 黄大仙区|