• 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
  • 相关阅读:
    leetcode:857. 雇佣 K 名工人的最低成本【分块思考 + 由简单入手】
    先睹为快!VCL界面DevExpress VCL 8月即将推出一系列新功能
    uniapp-提现功能(demo)
    Linux防火墙之iptables(上)
    循序渐进学习AOP切面编程(包含详细demo)
    【知识分享】C语言应用-易错篇
    【题解】同济线代习题一.6.3
    设计模式之道-模板方法模式
    C++深度解析教程 - 目录
    「学习笔记」重修左偏树
  • 原文地址:https://blog.csdn.net/IsayIwant/article/details/134510850