栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python自动化办公之大量数据excel的处理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python自动化办公之大量数据excel的处理

起因: 有一个excel表格,它很大,里边有四千多条数据

要求:将身份证号后8位加上姓名拼音的首字母拼接成一个字符串,作为登录系统的用户名,然后将这些数据导入到数据库中。

首先,在导入数据库之前,需要我们拿到身份证后8位和姓名拼音的首字母,然后将他们拼接在一起写入excel表格中。

这么多数据肯定不能是一行一行自己手动去拼接或者是使用excel处理,除非自己闲的蛋疼

思路其实很简单,下面是写好的代码:
import pypinyin
import xlrd
import xlwt
from pypinyin import Style, lazy_pinyin


def read():
    # 读取内容
    excel = xlrd.open_workbook(r'F:Python_WorkSpace学生信息处理2017级学生数据表.xlsx')
    # print(excel.sheet_names())
    sheet1 = excel.sheet_by_name("Sheet1")  # 打开页签
    excel2 = xlwt.Workbook()
    sheet2 = excel2.add_sheet("Sheet2")
    # print(sheet1)
    nrows = sheet1.nrows  # 获取行数
    ncols = sheet1.ncols  # 获取列数
    print(nrows, ncols)  # 输出行数和列数

    for i in range(0, nrows):
        # 获取年级
        grade = sheet1.cell(i, 0).value
        # 获取专业
        major = sheet1.cell(i, 1).value
        # 获取性别
        sex = sheet1.cell(i, 3).value
        # 获取学号
        stuid = sheet1.cell(i, 4).value
        # 获取学院
        college = sheet1.cell(i, 6).value
        # 获取身份证后8位
        code = sheet1.cell(i, 5).value
        code = str(code)
        code = code[-8:]
        # print(cell)

        # 获取名字拼音首字母
        name = sheet1.cell(i, 2).value
        print(name)
        name1 = ''.join(lazy_pinyin(name, style=pypinyin.FIRST_LETTER))
        # print(name)

        # 拼接id
        id = code + name1
        print(id)

        # 写入excel
        sheet2.write(i, 0, grade)
        sheet2.write(i, 1, major)
        sheet2.write(i, 2, name)
        sheet2.write(i, 3, sex)
        sheet2.write(i, 4, stuid)
        sheet2.write(i, 5, id)
        sheet2.write(i, 6, college)
    excel2.save('test.csv')


if __name__ == '__main__':
    read()

运行结果:

好了,然后就可以直接导入数据库了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/618756.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号