• 技术文章 >常见问题 >Python常见问题

    python合并几个表格的方法

    yangyang2020-05-12 14:21:04原创2832

    python合并单元格代码如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    100

    101

    102

    103

    104

    105

    106

    107

    108

    import xlrd

    import xlsxwriter

    import glob

     

    biao_tou = "NULL"

    wei_zhi = "NULL"

     

    #获取要合并的所有exce表格

    def get_exce():

        global wei_zhi

        wei_zhi = input("请输入Exce文件所在的目录:")

        all_exce = glob.glob(wei_zhi + "*.xlsx")

        print("该目录下有" + str(len(all_exce)) + "个exce文件:")

        if(len(all_exce) == 0):

            return 0

        else:

             for i in range(len(all_exce)):

                 print(all_exce[i])

             return all_exce                   

             

     

     

    #打开Exce文件

    def open_exce(name):

        fh = xlrd.open_workbook(name)

        return fh

     

    #获取exce文件下的所有sheet

    def get_sheet(fh):

        sheets = fh.sheets()

        return sheets

     

     

    #获取sheet下有多少行数据

    def get_sheetrow_num(sheet):

        return sheet.nrows

         

     

     

    #获取sheet下的数据

    def get_sheet_data(sheet,row):

        for i in range(row):

            if (i == 0):

                global biao_tou

                biao_tou = sheet.row_values(i)

                continue

            values = sheet.row_values(i)

            all_data1.append(values)

             

        return all_data1

         

     

    if __name__=='__main__':

        all_exce = get_exce()

        #得到要合并的所有exce表格数据

        if(all_exce == 0):

            print("该目录下无.xlsx文件!请检查您输入的目录是否有误!")

            os.system('pause')

            exit()

     

        all_data1 = []

        #用于保存合并的所有行的数据

     

     

        #下面开始文件数据的获取

        for exce in all_exce:

            fh = open_exce(exce)

            #打开文件

            sheets = get_sheet(fh)

            #获取文件下的sheet数量

     

     

            for sheet in range(len(sheets)):

                row = get_sheetrow_num(sheets[sheet])

                #获取一个sheet下的所有的数据的行数

     

                all_data2 = get_sheet_data(sheets[sheet],row)

                #获取一个sheet下的所有行的数据

     

        all_data2.insert(0,biao_tou)

        #表头写入

     

         

     

     

        #下面开始文件数据的写入

        new_exce = wei_zhi + "test.xlsx"

        #新建的exce文件名字

     

         

        fh1 = xlsxwriter.Workbook(new_exce)

        #新建一个exce表

     

        new_sheet = fh1.add_worksheet()

        #新建一个sheet表

     

        for i in range(len(all_data2)):

            for j in range(len(all_data2[i])):

                c = all_data2[i][j]

                new_sheet.write(i,j,c)

                 

        fh1.close()

        #关闭该exce表

         

        print("文件合并成功,请查看“" + wei_zhi + "”目录下的test.xlsx文件!")

                 

        os.system('pause')

        os.system('pause')

    程序使用说明:

    (1) 运行”Exce表格合并.exe”文件

    (2) 输入要合并的所有.xlsx表格文件所在的盘目录**(注意不要输错目录,输错目录或者乱输入则直接强制退出)**

    (3) 输入完按回车后程序自动执行,生成test.xlsx文件

    注意:如果原来就存在test.xlsx文件,必须先删除,不然合并后的数据会保存在原来的test.xlsx文件,并且程序会一闪而过

    更多Python知识请关注Python视频教程栏目。

    专题推荐:python
    上一篇:python excel模块包怎么安装? 下一篇:python不能找到自己写的包怎么办

    相关文章推荐

    • python中的re是什么模块?• python cv2模块怎么安装?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网