码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python处理Excel表格


    raw_data_jiangxiang = pd.read_excel(accord_path, header=None)
    raw_data_mingzi = pd.read_excel(name_path, header=None)
    mingzi = raw_data_mingzi.values[:, 1:2]
    jiangxiangmingzi = raw_data_jiangxiang.values[:, 7:8]
    
    • 1
    • 2
    • 3
    • 4

    pandas读取出来的是Series或者DataFrame,DataFrame是一列列Series加起来的。
    二者区别就是一个一维,一个二维。
    .values会读出来ndarrary的形式。从而进行处理。
    print(jiangxiangmingzi)
    [ [‘学生信息’]
    [‘2020112001张,2020112001晏’]… ]
    我们可以看到组织形式,首先是ndarray的形式,而不是list,因为项与项之间没有,,也可以发现同类型元素是一个小的ndarray,存放着一个字符串类型。
    所以:jiangxiangmingzi[i]是每一项ndarray:[‘2020112001张,2020112001晏’]
    jiangxiangmingzi[i][0]是该项的内容'2020112001张,2020112001晏'

    菜鸟教程
    使用list创建DataFrame

    import pandas as pd
    data = [['Google',10],['Runoob',12],['Wiki',13]]
    df = pd.DataFrame(data,columns=['Site','Age'],dtype=float)
    print(df)
    
    • 1
    • 2
    • 3
    • 4

    使用ndarray创建DataFrame

    import pandas as pd
    data = {'Site':['Google', 'Runoob', 'Wiki'], 'Age':[10, 12, 13]}
    df = pd.DataFrame(data)
    print (df)
    
    • 1
    • 2
    • 3
    • 4

    上面是符合逻辑的,list的特性是内容的数据类型可以不同,所以每一项就是一行。
    ndarray 对象是用于存放同类型元素的多维数组。所以是按照列来组织的。(默认一列的数据类型是一样的)

    import pandas as pd
    accord_path = r'C:\Users\97246\Desktop\jiang.xlsx'
    name_path = r'C:\Users\97246\Desktop\number.xls'
    
    raw_data_jiangxiang = pd.read_excel(accord_path, header=None)
    raw_data_mingzi = pd.read_excel(name_path, header=None)
    mingzi = raw_data_mingzi.values[:, 1:2]
    jiangxiangmingzi = raw_data_jiangxiang.values[:, 7:8]
    rows = jiangxiangmingzi.shape[0]
    judege = []
    for i in range(rows):
        is_need = False
        print(jiangxiangmingzi[i][0])
        for k in jiangxiangmingzi[i][0].split(','):
            print(k)
            if len(k) > 10:
                k = k[12:]
            print(k)
            if k in mingzi:
                is_need = True
                break
        if is_need:
            judege.append(i)
    # 使用list存储方法。
    siftedthrough_data = []
    for i in judege:
        siftedthrough_data.append(raw_data_jiangxiang.iloc[i])
    df = pd.DataFrame(siftedthrough_data)
    print(df)
    df.to_excel(r'C:\Users\97246\Desktop\党员.xlsx', index=False)
    
    • 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
  • 相关阅读:
    OceanBase 数据文件缩容实践
    阿里巴巴架构实战:SpringBoot+SpringCloud+Docker+Nginx+分布式
    时间默认显示当前日期及系统时间
    [Qt/C/C++]JSON和程序发布
    Simulink仿真中将工作空间中的数据变量保存成.mat文件
    DEJA_VU3D - Cesium功能集 之 056-智图Arcgis地图纠偏
    YOLOv5优化:独家创新(SC_C_Detect)检测头结构创新,实现涨点 | 检测头新颖创新系列
    WWW‘22 推荐系统论文之多任务与对比学习篇
    CSS中calc(80vw - 100px)为什么不加空格会不生效?
    Vue实现无限滚动加载更多内容(懒加载)或实现查看更多按钮
  • 原文地址:https://blog.csdn.net/IsayIwant/article/details/134510850
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号