Python新手处女作:Excel自动录入&Excel表格快速合并(附有源代码)

Jacob_E办公程序

通过一个月的Python语法基础课学习,小编也终于写出了自己的第一个程序!完成程序的那一刻,小编激动的心脏都要跳出来了!开心的像个两百斤的大胖子!呼呼呼~话不不多说,小编这就给大家介绍一下自己编写程序。
在这里插入图片描述

Jacob_E功能一:Excel数据自动录入

我们在日常生活中都会用Excel进行数据录入,十几条数据的录入是比较简单的,可是当数据达到上百条甚至更多,面对密密麻麻的Excel表格的感觉是无以言表的,而且进行上百条的数据录入很容易出错。小编对此深有感触!
小编借助Python解决了这一问题大大提高了效率。根据电脑的提示输入相应数据,即使数据有很多,在输入的过程当中也不会晕头转向。即便在自己启动程序之前没有创建Excel表格,根据电脑的指令随便输入“数据名.csv"的形式,程序会自动帮你创建Excel表格,在输入的过程中终端也会保留你数据的痕迹,这样也方便我们对数据的核对。除此之外,这款程序还是很有温度的,它会问你的名字并向你问好,等你数据录入完之后还会鼓励一下你!(小编是不是特别有心~~嘿嘿!)
在这里插入图片描述
在这里插入图片描述## Jacob _E功能二:Excel表格的自动合并

Jacob_E第二个功能就是多个Excel表格的快速合并。说到这小编不得不说出我在这件事情上的辛酸经历,小编在没有学习Python之前接到过这样一个任务——将整个学院各班的信息表合在一张表上…说到这想必大家已经知道我经历了什么,我在这个任务上鏖战了一上午,午饭都没有吃。就是把表格复制粘贴到一张新的表格上,干到最后已经心力交疲,眼睛也由于长时间盯着屏幕也起了一个脓包,到最后数据整理也错误百出…
而这个程序可以瞬间合并上百个Excel表格,不费吹灰之力。小编给这个程序编入了自动搜索.xlsx、.csv后缀的Excel表格(最常用的Excel后缀形式),搜索完毕在终端显示待合并表格的数量,这样方便我们核查是否漏了哪一个表格。并且根据自己处理Excel的类型选择相应的后缀。
在这里插入图片描述
在这里插入图片描述

感受

写到最后,小编也是留下了激动的泪水!从构思到代码的实现,小编作为一名新手也是经历了太多的坎坷,无数次的BUG、无数次的彻夜难眠、无数次的资料搜寻,甚至晚上睡觉的时候都在构思要如何实现下一步功能。
作为一名Python入门新手,小编也非常渴望与大家相互交流、互相进步,喜欢我的小伙伴,可以扫描下方二维码关注小编的微信公众号,我们一起打开Python的魔法世界!!!
在这里插入图片描述

源代码

在这里插入代码片
```print("""
author@Jacob Lu
date: 2020/2/26
""")
import xlrd
import xlsxwriter  # 将文件写入Excel的包
import glob
import os
import pandas as pd
import time
import csv

Lu=True
while Lu:
    print('1.日常内务查询录入系统\n2.Excel文件合并系统(.xlsx类型)\n3.Excel文件合并系统(.cvs类型)\n4.退出系统\n')
    print("""温馨提示:选择合并功能之前请务必将你所要处理的文件与该程序放在同一文件夹中!\n""")
    choice = int(input('请输入数字选择对应的功能:'))

    if choice==1:
        print('小可爱,你好!欢迎使用海洋学院宿管部Excel日常检查情况录入程序!')
        time.sleep(3)
        print('——————————————————————❁—————————————————————————❁———————————————————————————❁——————————————————————————' )
        your_name=input('你叫什么名字?好让我知道你的名字!:')
        print(your_name+'你好!下面请根据提示输入相应的数据。')
        time.sleep(2)
        book=input('请输入你要打开的Excel表的名字【注意文件名词的后缀必须是.csv,否则不是Excel的形式!】:')
        print('———————————————————————————————————Welcome to the program!——————————————————————————————————————————————' )
        date=input('请输入今天的日期:')
        #调用csv模块
        with open(book, 'a', newline='',encoding='GBK') as csvfile:
        #调用open()函数打开csv文件,传入参数:文件名“assets.csv”、追加模式“a”、newline=''。
            writer = csv.writer(csvfile, dialect='excel')
        # 用csv.writer()函数创建一个writer对象。
            header=['日期', '班级', '宿舍', '床铺', '姓名', '扣分','扣分原因']
            writer.writerow(header)
        Thing=True
        while Thing:
            with open(book, 'a', newline='',encoding='GBK') as csvfile:
                writer = csv.writer(csvfile, dialect='excel')
                the_class=input('请输入所在区队:')
                number=input('请输入宿舍号:')
                bed_number=input('请输入床铺号:')
                name=input('请输入姓名:')
                deduct_points=1
                question=input('请输入所存在的问题:')
                the_all=[date,the_class,str(20)+number,bed_number,name,deduct_points,question]
                writer.writerow(the_all)
                print('————————————————————————————————————————————————————————————————————————————————————————————————————' )
                if_next=input('是否继续输入,继续请按任意键,结束请按n:')
                print('————————————————————————————————————————————————————————————————————————————————————————————————————' )
                if if_next=='n':
                    Thing=False
                else:
                    Thing=True
        print('恭喜你!输入完毕!辛苦了!给你点个赞!!!')
        break
             
    elif choice==2:
        print('小可爱,你好!欢迎使用海洋学院宿管部多个Excel.xlsx合并程序!')
        time.sleep(3)
        print('——————————————————————❁—————————————————————————❁———————————————————————————❁——————————————————————————' )
        your_name=input('你叫什么名字?好让我知道你的名字!:')
        print(your_name+'你好!下面请根据提示输入相应的数据。')
        print('———————————————————————————————————Welcome to the program!——————————————————————————————————————————————' )
        time.sleep(1.5)
        target_xls =input('请输入最终合并Excel所在路径:') 
        csv_list = glob.glob('*.xlsx') #查看同文件夹下的csv文件数
        print(u'共发现%s个xlsx文件'% len(csv_list))
        print(u'正在处理............')
        data = []
        for i in csv_list:
            wb = xlrd.open_workbook(i)  # 先打开第一个文件1.xlsx
            for sheet in wb.sheets():       # 读取 表中的 工作表sheet的个数
                for rownum in range(sheet.nrows):   # 依次读取一个sheet中的数据
                    data.append(sheet.row_values(rownum))  # 把其数据放入 data[]列表中
        workbook = xlsxwriter.Workbook(target_xls)  # 创建了一个名字叫做3.xlsx , Excel表格文件
        worksheet = workbook.add_worksheet()  # 建立sheet,
        font = workbook.add_format({"font_size":14})  # 表格中值(字体)的大小
        for i in range(len(data)):            # 从data列表中读取数据
            for j in range(len(data[i])):
                worksheet.write(i, j, data[i][j], font)
        workbook.close()
        print(u'数据输入完毕!欢迎下次光临!')
        break 

    elif choice==3:
        print('小可爱,你好!欢迎使用海洋学院宿管部多个Excel.csv合并程序!')
        time.sleep(3)
        print('——————————————————————❁—————————————————————————❁———————————————————————————❁——————————————————————————' )
        your_name=input('你叫什么名字?好让我知道你的名字!:')
        print(your_name+'你好!下面请根据提示输入相应的数据。')
        print('———————————————————————————————————Welcome to the program!——————————————————————————————————————————————' )
        time.sleep(1.5)
        def hebing():
            csv_list = glob.glob('*.csv') #查看同文件夹下的csv文件数
            print(u'共发现%s个csv文件'% len(csv_list))
            print(u'正在处理............')
            for i in csv_list: #循环读取同文件夹下的csv文件
                fr = open(i,'r',encoding='gbk').read()
                with open('result.csv','a',encoding='gbk') as f: #将结果保存为result.csv
                    f.write(fr)
            print(u'合并完毕!')
        if __name__ == '__main__':
            hebing()
            break
    elif choice==4:
        print('拜拜,欢迎下次光临!')
        break
    else:
        print('小可爱,请按照规则选择功能选项,不要开车哦!^_^')
        print('——————————————————————❁—————————————————————————❁———————————————————————————❁——————————————————————————' )
        time.sleep(3)
        continue

发布了3 篇原创文章 · 获赞 6 · 访问量 1692
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览