{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "9c14d1c9", "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 72, "id": "d9dfa8a4", "metadata": {}, "outputs": [], "source": [ "df = pd.read_excel('./在校生综合信息查询.xlsx')\n" ] }, { "cell_type": "code", "execution_count": 73, "id": "11c63a32", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2982, 42)" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "code", "execution_count": 81, "id": "db1a67db", "metadata": {}, "outputs": [], "source": [ "tem = df['学号'].sort_values(key=lambda s: s.fillna('').astype(str).str.len())\n" ] }, { "cell_type": "code", "execution_count": 82, "id": "7c1b3a8d", "metadata": {}, "outputs": [], "source": [ "tem = tem.astype(str).tolist()" ] }, { "cell_type": "code", "execution_count": 83, "id": "d8a8f176", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['202205270',\n", " '250802200',\n", " '250802300',\n", " '250802400',\n", " '250802500',\n", " '250802600',\n", " '250802700',\n", " '250802800',\n", " '250802900',\n", " '250803000',\n", " '250803100',\n", " '250803200',\n", " '250803300',\n", " '250803400',\n", " '250803500',\n", " '250803600',\n", " '250803700',\n", " '250803800',\n", " '250803900',\n", " '250804000',\n", " '250802100',\n", " '250900100',\n", " '250802000',\n", " '250801800',\n", " '250701900',\n", " '250702000',\n", " '250800100',\n", " '250800200',\n", " '250800300',\n", " '250800400',\n", " '250800500',\n", " '250800600',\n", " '250800700',\n", " '250800800',\n", " '250800900',\n", " '250801000',\n", " '250801100',\n", " '250801200',\n", " '250801300',\n", " '250801400',\n", " '250801500',\n", " '250801600',\n", " '250801700',\n", " '250801900',\n", " '250900200',\n", " '250900300',\n", " '250900400',\n", " '251100200',\n", " '251100300',\n", " '251100400',\n", " '251100500',\n", " '251100600',\n", " '251100700',\n", " '251100800',\n", " '251100900',\n", " '251101000',\n", " '251101100',\n", " '251101200',\n", " '251101300',\n", " '251101400',\n", " '251101500',\n", " '251101600',\n", " '251101700',\n", " '251101800',\n", " '251101900',\n", " '251102000',\n", " '251100100',\n", " '251001800',\n", " '251001700',\n", " '251001600',\n", " '250900500',\n", " '250900600',\n", " '250900700',\n", " '250900800',\n", " '250900900',\n", " '251000100',\n", " '251000200',\n", " '251000300',\n", " '251000400',\n", " '250701800',\n", " '251000500',\n", " '251000700',\n", " '251000800',\n", " '251000900',\n", " '251001000',\n", " '251001100',\n", " '251001200',\n", " '251001300',\n", " '251001400',\n", " '251001500',\n", " '251000600',\n", " '251102100',\n", " '250701700',\n", " '250701500',\n", " '250601100',\n", " '250601200',\n", " '250601300',\n", " '250601400',\n", " '250601500',\n", " '250601600',\n", " '250601700',\n", " '250601800',\n", " '250601900',\n", " '250602000',\n", " '250602100',\n", " '250602200',\n", " '250602300',\n", " '250602400',\n", " '250602500',\n", " '250602600',\n", " '250602700',\n", " '250602800',\n", " '250602900',\n", " '250601000',\n", " '250603000',\n", " '250600900',\n", " '250600700',\n", " '250503300',\n", " '250503400',\n", " '250503500',\n", " '250503600',\n", " '250503700',\n", " '250503900',\n", " '250504000',\n", " '250504100',\n", " '250504200',\n", " '250504300',\n", " '250504400',\n", " '250504500',\n", " '250504600',\n", " '250600100',\n", " '250600200',\n", " '250600300',\n", " '250600400',\n", " '250600500',\n", " '250600600',\n", " '250600800',\n", " '250603100',\n", " '250603200',\n", " '250603300',\n", " '250605900',\n", " '250606000',\n", " '250606100',\n", " '250606200',\n", " '250606300',\n", " '250606400',\n", " '250700100',\n", " '250700200',\n", " '250700300',\n", " '250700400',\n", " '250700500',\n", " '250700700',\n", " '250700800',\n", " '250700900',\n", " '250701000',\n", " '250701100',\n", " '250701200',\n", " '250701300',\n", " '250701400',\n", " '250605800',\n", " '250605700',\n", " '250605600',\n", " '250605500',\n", " '250603400',\n", " '250603600',\n", " '250603700',\n", " '250603800',\n", " '250603900',\n", " '250604000',\n", " '250604100',\n", " '250604200',\n", " '250604300',\n", " '250701600',\n", " '250604400',\n", " '250604600',\n", " '250604700',\n", " '250604800',\n", " '250604900',\n", " '250605000',\n", " '250605100',\n", " '250605200',\n", " '250605300',\n", " '250605400',\n", " '250604500',\n", " '250503200',\n", " '251102200',\n", " '251102400',\n", " '251401600',\n", " '251401700',\n", " '251401800',\n", " '251401900',\n", " '251402000',\n", " '251402100',\n", " '251402200',\n", " '251402300',\n", " '251402400',\n", " '251402500',\n", " '251402600',\n", " '251402700',\n", " '251402800',\n", " '251402900',\n", " '251403000',\n", " '251403100',\n", " '251403200',\n", " '251403300',\n", " '251403400',\n", " '251401500',\n", " '251403500',\n", " '251401400',\n", " '251401200',\n", " '251302200',\n", " '251302300',\n", " '251302400',\n", " '251302500',\n", " '251302600',\n", " '251302700',\n", " '251302800',\n", " '251302900',\n", " '251400100',\n", " '251400200',\n", " '251400300',\n", " '251400400',\n", " '251400500',\n", " '251400600',\n", " '251400700',\n", " '251400800',\n", " '251400900',\n", " '251401000',\n", " '251401100',\n", " '251401300',\n", " '251403600',\n", " '251403700',\n", " '251403800',\n", " '251500400',\n", " '251500500',\n", " '251500600',\n", " '251500700',\n", " '251500800',\n", " '251500900',\n", " '251501000',\n", " '251501100',\n", " '251501200',\n", " '251501300',\n", " '251501400',\n", " '251501500',\n", " '251501600',\n", " '251501700',\n", " '251501800',\n", " '251501900',\n", " '251502000',\n", " '251502100',\n", " '251502200',\n", " '251500300',\n", " '251500200',\n", " '251500100',\n", " '251405900',\n", " '251403900',\n", " '251404000',\n", " '251404100',\n", " '251404200',\n", " '251404300',\n", " '251404400',\n", " '251404500',\n", " '251404600',\n", " '251404700',\n", " '251302100',\n", " '251404800',\n", " '251405000',\n", " '251405100',\n", " '251405200',\n", " '251405300',\n", " '251405400',\n", " '251405500',\n", " '251405600',\n", " '251405700',\n", " '251405800',\n", " '251404900',\n", " '251102300',\n", " '251302000',\n", " '251301800',\n", " '251104800',\n", " '251104900',\n", " '251105000',\n", " '251105100',\n", " '251200100',\n", " '251200200',\n", " '251200300',\n", " '251200400',\n", " '251200500',\n", " '251200600',\n", " '251200700',\n", " '251200800',\n", " '251200900',\n", " '251201000',\n", " '251201100',\n", " '251201200',\n", " '251201300',\n", " '251201400',\n", " '251201500',\n", " '251104700',\n", " '251201600',\n", " '251104600',\n", " '251104400',\n", " '251102500',\n", " '251102600',\n", " '251102700',\n", " '251102800',\n", " '251102900',\n", " '251103000',\n", " '251103100',\n", " '251103200',\n", " '251103300',\n", " '251103400',\n", " '251103500',\n", " '251103600',\n", " '251103700',\n", " '251103800',\n", " '251103900',\n", " '251104000',\n", " '251104100',\n", " '251104200',\n", " '251104300',\n", " '251104500',\n", " '251201700',\n", " '251201800',\n", " '251201900',\n", " '251204400',\n", " '251204500',\n", " '251204600',\n", " '251300100',\n", " '251300200',\n", " '251300300',\n", " '251300400',\n", " '251300500',\n", " '251300600',\n", " '251300800',\n", " '251300900',\n", " '251301000',\n", " '251301100',\n", " '251301200',\n", " '251301300',\n", " '251301400',\n", " '251301500',\n", " '251301600',\n", " '251301700',\n", " '251204300',\n", " '251204200',\n", " '251204100',\n", " '251204000',\n", " '251202000',\n", " '251202100',\n", " '251202200',\n", " '251202300',\n", " '251202400',\n", " '251202500',\n", " '251202600',\n", " '251202700',\n", " '251202800',\n", " '251301900',\n", " '251202900',\n", " '251203100',\n", " '251203200',\n", " '251203300',\n", " '251203400',\n", " '251203500',\n", " '251203600',\n", " '251203700',\n", " '251203800',\n", " '251203900',\n", " '251203000',\n", " '250503100',\n", " '250503000',\n", " '250502900',\n", " '202422057',\n", " '202422290',\n", " '202423001',\n", " '202423003',\n", " '202423004',\n", " '202423005',\n", " '202423007',\n", " '202423008',\n", " '202423010',\n", " '202423011',\n", " '202423012',\n", " '202423013',\n", " '202423015',\n", " '202423016',\n", " '202423017',\n", " '202423018',\n", " '202423019',\n", " '202423020',\n", " '202423023',\n", " '202422056',\n", " '202423024',\n", " '202422055',\n", " '202422053',\n", " '202422034',\n", " '202422035',\n", " '202422036',\n", " '202422037',\n", " '202422038',\n", " '202422039',\n", " '202422040',\n", " '202422041',\n", " '202422042',\n", " '202422043',\n", " '202422044',\n", " '202422045',\n", " '202422046',\n", " '202422047',\n", " '202422048',\n", " '202422049',\n", " '202422050',\n", " '202422051',\n", " '202422052',\n", " '202422054',\n", " '202423025',\n", " '202423028',\n", " '202423029',\n", " '202424022',\n", " '202424023',\n", " '202424024',\n", " '202424026',\n", " '202424040',\n", " '202424042',\n", " '202424044',\n", " '202424045',\n", " '202424046',\n", " '202424047',\n", " '202424048',\n", " '202424049',\n", " '202424050',\n", " '202424051',\n", " '202424052',\n", " '202424053',\n", " '202424055',\n", " '202424056',\n", " '202425001',\n", " '202424020',\n", " '202424019',\n", " '202424017',\n", " '202424016',\n", " '202423030',\n", " '202423032',\n", " '202423034',\n", " '202423035',\n", " '202423036',\n", " '202423038',\n", " '202423039',\n", " '202423042',\n", " '202423043',\n", " '202422033',\n", " '202424001',\n", " '202424004',\n", " '202424005',\n", " '202424006',\n", " '202424007',\n", " '202424009',\n", " '202424011',\n", " '202424012',\n", " '202424013',\n", " '202424014',\n", " '202424003',\n", " '202425002',\n", " '202422032',\n", " '202422030',\n", " '202421017',\n", " '202421019',\n", " '202421020',\n", " '202421022',\n", " '202421023',\n", " '202421024',\n", " '202421025',\n", " '202421026',\n", " '202421028',\n", " '202421029',\n", " '202421030',\n", " '202421031',\n", " '202421033',\n", " '202421034',\n", " '202421036',\n", " '202421038',\n", " '202421040',\n", " '202421042',\n", " '202421044',\n", " '202421016',\n", " '202421045',\n", " '202421014',\n", " '202421011',\n", " '202420050',\n", " '202420051',\n", " '202420052',\n", " '202420053',\n", " '202420054',\n", " '202420055',\n", " '202420056',\n", " '202420057',\n", " '202420058',\n", " '202420059',\n", " '202420060',\n", " '202420061',\n", " '202420062',\n", " '202421001',\n", " '202421003',\n", " '202421005',\n", " '202421006',\n", " '202421008',\n", " '202421010',\n", " '202421012',\n", " '202421046',\n", " '202421047',\n", " '202421048',\n", " '202422011',\n", " '202422012',\n", " '202422013',\n", " '202422014',\n", " '202422015',\n", " '202422016',\n", " '202422017',\n", " '202422018',\n", " '202422019',\n", " '202422020',\n", " '202422021',\n", " '202422022',\n", " '202422023',\n", " '202422024',\n", " '202422025',\n", " '202422026',\n", " '202422027',\n", " '202422028',\n", " '202422029',\n", " '202422010',\n", " '202422009',\n", " '202422008',\n", " '202422007',\n", " '202421049',\n", " '202421050',\n", " '202421051',\n", " '202421052',\n", " '202421053',\n", " '202421054',\n", " '202421055',\n", " '202421056',\n", " '202421057',\n", " '202422031',\n", " '202421058',\n", " '202421060',\n", " '202421061',\n", " '202421062',\n", " '202422001',\n", " '202422002',\n", " '202422003',\n", " '202422004',\n", " '202422005',\n", " '202422006',\n", " '202421059',\n", " '202425003',\n", " '202425004',\n", " '202425009',\n", " '250101900',\n", " '250102000',\n", " '250102100',\n", " '250200100',\n", " '250200200',\n", " '250200300',\n", " '250200400',\n", " '250200500',\n", " '250200600',\n", " '250200700',\n", " '250200800',\n", " '250200900',\n", " '250300100',\n", " '250300200',\n", " '250300300',\n", " '250300400',\n", " '250300500',\n", " '250300600',\n", " '250300700',\n", " '250101800',\n", " '250300800',\n", " '250101700',\n", " '250101500',\n", " '240534000',\n", " '240611000',\n", " '242205800',\n", " '24JW01190',\n", " '24JW01220',\n", " '250100100',\n", " '250100200',\n", " '250100300',\n", " '250100400',\n", " '250100500',\n", " '250100600',\n", " '250100700',\n", " '250100800',\n", " '250100900',\n", " '250101000',\n", " '250101100',\n", " '250101200',\n", " '250101300',\n", " '250101400',\n", " '250101600',\n", " '250300900',\n", " '250301000',\n", " '250301100',\n", " '250500700',\n", " '250500800',\n", " '250500900',\n", " '250501100',\n", " '250501200',\n", " '250501300',\n", " '250501400',\n", " '250501600',\n", " '250501700',\n", " '250501800',\n", " '250501900',\n", " '250502000',\n", " '250502100',\n", " '250502200',\n", " '250502300',\n", " '250502400',\n", " '250502500',\n", " '250502700',\n", " '250502800',\n", " '250500600',\n", " '250500500',\n", " '250500400',\n", " '250500300',\n", " '250301200',\n", " '250301300',\n", " '250301400',\n", " '250301500',\n", " '250301600',\n", " '250301700',\n", " '250301800',\n", " '250301900',\n", " '250302000',\n", " '240526000',\n", " '250302100',\n", " '250400100',\n", " '250400200',\n", " '250400300',\n", " '250400400',\n", " '250400500',\n", " '250400600',\n", " '250400700',\n", " '250500100',\n", " '250500200',\n", " '250302200',\n", " '240518000',\n", " '240512000',\n", " '240510000',\n", " '202425042',\n", " '202425044',\n", " '202426001',\n", " '202426002',\n", " '202426003',\n", " '202426004',\n", " '202426005',\n", " '202426006',\n", " '202426007',\n", " '202426008',\n", " '202426009',\n", " '202426010',\n", " '202426011',\n", " '202426012',\n", " '202426013',\n", " '202426014',\n", " '202426015',\n", " '202426016',\n", " '202426017',\n", " '202425041',\n", " '202425040',\n", " '202425039',\n", " '202425038',\n", " '202425011',\n", " '202425012',\n", " '202425013',\n", " '202425014',\n", " '202425015',\n", " '202425016',\n", " '202425018',\n", " '202425021',\n", " '202425023',\n", " '202426018',\n", " '202425024',\n", " '202425026',\n", " '202425029',\n", " '202425031',\n", " '202425032',\n", " '202425033',\n", " '202425034',\n", " '202425035',\n", " '202425036',\n", " '202425037',\n", " '202425025',\n", " '251502300',\n", " '202426020',\n", " '202426025',\n", " '202427027',\n", " '202427028',\n", " '202427029',\n", " '202427030',\n", " '202427031',\n", " '202427032',\n", " '202427033',\n", " '202427034',\n", " '202427035',\n", " '202427036',\n", " '202427037',\n", " '202427041',\n", " '202427042',\n", " '203320000',\n", " '203520000',\n", " '230043000',\n", " '230536000',\n", " '230586000',\n", " '240291000',\n", " '202427026',\n", " '202427025',\n", " '202427022',\n", " '202427018',\n", " '202426026',\n", " '202426027',\n", " '202426028',\n", " '202426029',\n", " '202426030',\n", " '202427001',\n", " '202427002',\n", " '202427003',\n", " '202427004',\n", " '202426021',\n", " '202427005',\n", " '202427007',\n", " '202427008',\n", " '202427009',\n", " '202427010',\n", " '202427013',\n", " '202427014',\n", " '202427015',\n", " '202427016',\n", " '202427017',\n", " '202427006',\n", " '202308640',\n", " '251502400',\n", " '251600200',\n", " '252502700',\n", " '252502800',\n", " '252502900',\n", " '252503000',\n", " '252503100',\n", " '252503200',\n", " '252503300',\n", " '252503400',\n", " '252503500',\n", " '252503600',\n", " '252503700',\n", " '252503800',\n", " '252503900',\n", " '252504000',\n", " '252504100',\n", " '252504200',\n", " '252504300',\n", " '252504400',\n", " '252504500',\n", " '252502600',\n", " '252504600',\n", " '252502500',\n", " '252502300',\n", " '252500300',\n", " '252500400',\n", " '252500500',\n", " '252500600',\n", " '252500700',\n", " '252500800',\n", " '252500900',\n", " '252501000',\n", " '252501100',\n", " '252501200',\n", " '252501300',\n", " '252501400',\n", " '252501500',\n", " '252501600',\n", " '252501700',\n", " '252501800',\n", " '252502000',\n", " '252502100',\n", " '252502200',\n", " '252502400',\n", " '252504700',\n", " '252504800',\n", " '252504900',\n", " '252601200',\n", " '252601300',\n", " '252601400',\n", " '252601500',\n", " '252601600',\n", " '252601700',\n", " '252601800',\n", " '252601900',\n", " '252602000',\n", " '252602100',\n", " '252602200',\n", " '252602300',\n", " '252602400',\n", " '252602500',\n", " '252602600',\n", " '252602800',\n", " '252602900',\n", " '252603000',\n", " '252603100',\n", " '252601100',\n", " '252601000',\n", " '252600900',\n", " '252600800',\n", " '252505000',\n", " '252505100',\n", " '252505200',\n", " '252505300',\n", " '252505400',\n", " '252505500',\n", " '252505600',\n", " '252505700',\n", " '252505800',\n", " '252500200',\n", " '252505900',\n", " '252506100',\n", " '252506200',\n", " '252506300',\n", " '252600100',\n", " '252600300',\n", " '252600400',\n", " '252600500',\n", " '252600600',\n", " '252600700',\n", " '252506000',\n", " '252603200',\n", " '252500100',\n", " '252406300',\n", " '252305800',\n", " '252305900',\n", " '252306000',\n", " '252306100',\n", " '252306700',\n", " '252400100',\n", " '252400200',\n", " '252400300',\n", " '252400400',\n", " '252400500',\n", " '252400600',\n", " '252400700',\n", " '252400800',\n", " '252400900',\n", " '252401000',\n", " '252401100',\n", " '252401200',\n", " '252401300',\n", " '252401400',\n", " '252305700',\n", " '252401500',\n", " '252305600',\n", " '252305400',\n", " '252303500',\n", " '252303600',\n", " '252303700',\n", " '252303800',\n", " '252303900',\n", " '252304000',\n", " '252304100',\n", " '252304200',\n", " '252304300',\n", " '252304400',\n", " '252304500',\n", " '252304600',\n", " '252304700',\n", " '252304800',\n", " '252304900',\n", " '252305000',\n", " '252305100',\n", " '252305200',\n", " '252305300',\n", " '252305500',\n", " '252401600',\n", " '252401700',\n", " '252401800',\n", " '252404400',\n", " '252404500',\n", " '252404600',\n", " '252404700',\n", " '252404800',\n", " '252404900',\n", " '252405000',\n", " '252405100',\n", " '252405200',\n", " '252405300',\n", " '252405400',\n", " '252405500',\n", " '252405600',\n", " '252405700',\n", " '252405800',\n", " '252405900',\n", " '252406000',\n", " '252406100',\n", " '252406200',\n", " '252404300',\n", " '252404200',\n", " '252404100',\n", " '252404000',\n", " '252401900',\n", " '252402000',\n", " '252402100',\n", " '252402200',\n", " '252402300',\n", " '252402400',\n", " '252402500',\n", " '252402700',\n", " '252402800',\n", " '252406400',\n", " '252402900',\n", " '252403100',\n", " '252403200',\n", " '252403300',\n", " '252403400',\n", " '252403500',\n", " '252403600',\n", " '252403700',\n", " '252403800',\n", " '252403900',\n", " '252403000',\n", " '252303400',\n", " '252603300',\n", " '252603500',\n", " '252902500',\n", " '252902600',\n", " '252902700',\n", " '252902800',\n", " '252902900',\n", " '252903000',\n", " '252903100',\n", " '252903200',\n", " '252903300',\n", " '252903400',\n", " '252903500',\n", " '252903600',\n", " '252903700',\n", " '252903800',\n", " '252903900',\n", " '253000100',\n", " '253000200',\n", " '253000300',\n", " '253000400',\n", " '252902400',\n", " '253000500',\n", " '252902300',\n", " '252902100',\n", " '252900200',\n", " '252900300',\n", " '252900400',\n", " '252900500',\n", " '252900600',\n", " '252900700',\n", " '252900800',\n", " '252900900',\n", " '252901000',\n", " '252901100',\n", " '252901200',\n", " '252901300',\n", " '252901400',\n", " '252901500',\n", " '252901600',\n", " '252901700',\n", " '252901800',\n", " '252901900',\n", " '252902000',\n", " '252902200',\n", " '253000600',\n", " '253000700',\n", " '253000800',\n", " '253100100',\n", " '253100200',\n", " '253100300',\n", " '253100400',\n", " '253100500',\n", " '253100600',\n", " '253100700',\n", " '253100800',\n", " '253100900',\n", " '253101000',\n", " '253101100',\n", " '253101200',\n", " '253101300',\n", " '253101400',\n", " '253101500',\n", " '253101600',\n", " '253101700',\n", " '253101800',\n", " '253102000',\n", " '253003200',\n", " '253003100',\n", " '253003000',\n", " ...]" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tem" ] }, { "cell_type": "code", "execution_count": 84, "id": "d114c89b", "metadata": {}, "outputs": [], "source": [ "lens = {}\n", "records = {}\n", "for item in tem:\n", " lens[f'长度为{len(item)}'] = lens.get(f'长度为{len(item)}', 0) + 1\n", " records[f'长度为{len(item)}'] = records.get(f'长度为{len(item)}', []) + [item]" ] }, { "cell_type": "code", "execution_count": 85, "id": "956df2da", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'长度为9': 2974, '长度为10': 5, '长度为13': 3}" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lens" ] }, { "cell_type": "code", "execution_count": 45, "id": "c8c65d28", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['2023030432', '2024040613', '2024040128', '2023010303', '2024040152']" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "records['长度为10']" ] }, { "cell_type": "code", "execution_count": 77, "id": "9b3c032a", "metadata": {}, "outputs": [], "source": [ "#将学号不足9位的学号后面补0,超过9位的截取前9位\n", "df['学号'] = df['学号'].apply(lambda x: f'{str(x):0<9}')\n" ] }, { "cell_type": "code", "execution_count": 78, "id": "425c4821", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "学号\n", "202415017 2\n", "202322076 2\n", "202302030 2\n", "202314030 2\n", "252604500 2\n", "202415001 2\n", "202301020 2\n", "202415019 2\n", "202304010 2\n", "202301030 2\n", "202306040 2\n", "250803100 1\n", "250803600 1\n", "250803300 1\n", "250803400 1\n", "250803500 1\n", "250803200 1\n", "250803900 1\n", "250803700 1\n", "250803800 1\n", "Name: count, dtype: int64" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['学号'].value_counts().head(20)" ] }, { "cell_type": "code", "execution_count": 87, "id": "768127b2", "metadata": {}, "outputs": [], "source": [ "df.to_excel('数据整理.xlsx', index=False)" ] }, { "cell_type": "code", "execution_count": 88, "id": "ee08c495", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "学号\n", "202205270 1\n", "250803300 1\n", "250802400 1\n", "250802500 1\n", "250802600 1\n", "250802700 1\n", "250802800 1\n", "250802900 1\n", "250803000 1\n", "250803100 1\n", "250803200 1\n", "250803400 1\n", "250900500 1\n", "250803500 1\n", "250803600 1\n", "250803700 1\n", "250803800 1\n", "250803900 1\n", "250804000 1\n", "250900100 1\n", "Name: count, dtype: int64" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1 = pd.read_excel('数据整理.xlsx')\n", "df1['学号'].value_counts().head(20)\n" ] }, { "cell_type": "code", "execution_count": null, "id": "494627e7", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Administrator\\AppData\\Local\\Temp\\ipykernel_34060\\2571666087.py:2: UserWarning: DataFrame columns are not unique, some columns will be omitted.\n", " student = df1[['姓名', '学号']].set_index('姓名').T.to_dict()\n" ] } ], "source": [ "#取出df1中学生和学号组合成字典\n", "student = df1[['姓名', '学号']].set_index('姓名').T.to_dict('list')" ] }, { "cell_type": "code", "execution_count": 93, "id": "ff3a90a4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "姓名\n", "王子轩 4\n", "洛绒丁真 4\n", "王俊杰 4\n", "李鑫 3\n", "杨杰 3\n", " ..\n", "未煜祺 1\n", "魏颖煊 1\n", "薛永宏 1\n", "于伟杰 1\n", "董芷妍 1\n", "Name: count, Length: 2892, dtype: int64" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1['姓名'].value_counts()" ] }, { "cell_type": "code", "execution_count": 106, "id": "895ce20a", "metadata": {}, "outputs": [], "source": [ "df2 = pd.read_excel('学生信息.xls',sheet_name='Sheet0')" ] }, { "cell_type": "code", "execution_count": 107, "id": "4cb8a1f0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
学号姓名性别年级班级电话身份证件号专业代码专业名称
0202304009韩震20232328数字媒体2班15883775701510726200805055219710204数字媒体技术应用
1202304023胥倩文20232328数字媒体2班17378613606510704200802282127710204数字媒体技术应用
2202328001四郎20232328数字媒体2班15983736073513332200405011637710204数字媒体技术应用
3202328005东红丹巴达吉20232328数字媒体2班15708362028513327200706166519710204数字媒体技术应用
4202328006尼谢交20232328数字媒体2班18828867303513333200805241614710204数字媒体技术应用
..............................
29772530028杨马浩20252530智维升学19114073889510726201003181410660201智能设备运行与维护
29782530029杨逸晨20252530智维升学18781190071510724201007141616660201智能设备运行与维护
29792530030张文博20252530智维升学13698138546510724201005172056660201智能设备运行与维护
29802530031张玺毓20252530智维升学1898254206250022820100822337X660201智能设备运行与维护
29812530032张宇鹏20252530智维升学15328205746510724201007140816660201智能设备运行与维护
\n", "

2982 rows × 9 columns

\n", "
" ], "text/plain": [ " 学号 姓名 性别 年级 班级 电话 身份证件号 \\\n", "0 202304009 韩震 男 2023 2328数字媒体2班 15883775701 510726200805055219 \n", "1 202304023 胥倩文 女 2023 2328数字媒体2班 17378613606 510704200802282127 \n", "2 202328001 四郎 男 2023 2328数字媒体2班 15983736073 513332200405011637 \n", "3 202328005 东红丹巴达吉 男 2023 2328数字媒体2班 15708362028 513327200706166519 \n", "4 202328006 尼谢交 男 2023 2328数字媒体2班 18828867303 513333200805241614 \n", "... ... ... .. ... ... ... ... \n", "2977 2530028 杨马浩 男 2025 2530智维升学 19114073889 510726201003181410 \n", "2978 2530029 杨逸晨 男 2025 2530智维升学 18781190071 510724201007141616 \n", "2979 2530030 张文博 男 2025 2530智维升学 13698138546 510724201005172056 \n", "2980 2530031 张玺毓 男 2025 2530智维升学 18982542062 50022820100822337X \n", "2981 2530032 张宇鹏 男 2025 2530智维升学 15328205746 510724201007140816 \n", "\n", " 专业代码 专业名称 \n", "0 710204 数字媒体技术应用 \n", "1 710204 数字媒体技术应用 \n", "2 710204 数字媒体技术应用 \n", "3 710204 数字媒体技术应用 \n", "4 710204 数字媒体技术应用 \n", "... ... ... \n", "2977 660201 智能设备运行与维护 \n", "2978 660201 智能设备运行与维护 \n", "2979 660201 智能设备运行与维护 \n", "2980 660201 智能设备运行与维护 \n", "2981 660201 智能设备运行与维护 \n", "\n", "[2982 rows x 9 columns]" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2" ] }, { "cell_type": "code", "execution_count": 111, "id": "93836d9c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['学号', '姓名', '性别', '年级', '班级', '电话', '身份证件号', '专业代码', '专业名称'], dtype='object')" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2.columns\n" ] }, { "cell_type": "code", "execution_count": 118, "id": "2155dc26", "metadata": {}, "outputs": [], "source": [ "df3 = df2[['专业名称','专业代码']].drop_duplicates()\n" ] }, { "cell_type": "code", "execution_count": 119, "id": "e62d66a7", "metadata": {}, "outputs": [], "source": [ "major_map = dict(zip(df3['专业名称'], df3['专业代码']))" ] }, { "cell_type": "code", "execution_count": 120, "id": "08090cde", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'数字媒体技术应用': 710204,\n", " '运动训练': 770303,\n", " '智慧健康养老服务': 590302,\n", " '旅游服务与管理': 740101,\n", " '民族音乐与舞蹈': 750203,\n", " '会计事务': 120100,\n", " '建筑工程施工': 640301,\n", " '电子信息技术': 510101,\n", " '新能源汽车运用与维修': 700209,\n", " '智能设备运行与维护': 660201}" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "major_map" ] }, { "cell_type": "code", "execution_count": 121, "id": "930b2b00", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['身份证件号', '姓名', '性别', '出生日期', '民族', '籍贯', '户口性质', '学生类别', '入学年月', '学校名称',\n", " '专业', '专业方向', '学号', '户口所在地', '户口所在地区县以下详细地址', '身份证件类型', '学籍号', '婚姻状况',\n", " '政治面貌', '学生来源', '港澳台侨外', '国籍', '家庭现地址', '入学方式', '学制', '年级', '班级',\n", " '家庭邮政编码', '联招合作类型', '联招合作学校机构代码', '学生联系电话', '出生地', '电子信箱', '英文姓名',\n", " '姓名拼音', '省', '市', '县', '学习形式', '专业简称', '在校生状态', '健康状况'],\n", " dtype='object')" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1.columns" ] }, { "cell_type": "code", "execution_count": 123, "id": "e5724446", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['学号', '姓名', '性别', '年级', '班级', '电话', '身份证件号', '专业代码', '专业名称'], dtype='object')" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2.columns" ] }, { "cell_type": "code", "execution_count": 126, "id": "aee0c39a", "metadata": {}, "outputs": [], "source": [ "df5 = df1[['学号', '姓名', '性别', '年级', '班级', '学生联系电话', '身份证件号', '专业']]" ] }, { "cell_type": "code", "execution_count": 127, "id": "d916848c", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Administrator\\AppData\\Local\\Temp\\ipykernel_34060\\2414071842.py:1: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " df5.rename(columns={'专业':'专业名称','学生联系电话':'电话'},inplace=True)\n" ] } ], "source": [ "df5.rename(columns={'专业':'专业名称','学生联系电话':'电话'},inplace=True)" ] }, { "cell_type": "code", "execution_count": 129, "id": "3f74907c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'数字媒体技术应用': 710204,\n", " '运动训练': 770303,\n", " '智慧健康养老服务': 590302,\n", " '旅游服务与管理': 740101,\n", " '民族音乐与舞蹈': 750203,\n", " '会计事务': 120100,\n", " '建筑工程施工': 640301,\n", " '电子信息技术': 510101,\n", " '新能源汽车运用与维修': 700209,\n", " '智能设备运行与维护': 660201}" ] }, "execution_count": 129, "metadata": {}, "output_type": "execute_result" } ], "source": [ "major_map" ] }, { "cell_type": "code", "execution_count": 130, "id": "373e54ec", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Administrator\\AppData\\Local\\Temp\\ipykernel_34060\\3695747400.py:1: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " df5['专业代码'] = df5['专业名称'].map(major_map)\n" ] } ], "source": [ "df5['专业代码'] = df5['专业名称'].map(major_map)" ] }, { "cell_type": "code", "execution_count": 137, "id": "6d5004af", "metadata": {}, "outputs": [], "source": [ "df5 = df5.astype('str')" ] }, { "cell_type": "code", "execution_count": 138, "id": "0158daef", "metadata": {}, "outputs": [], "source": [ "df5.to_excel(\"学生信息_v1.xlsx\",index=False)" ] }, { "cell_type": "code", "execution_count": 149, "id": "9bb8915a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Administrator\\AppData\\Local\\Temp\\ipykernel_34060\\2087057881.py:4: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", " df5.groupby('年级').apply(fun)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: []\n", "Index: []" ] }, "execution_count": 149, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grademap = {}\n", "def fun(x):\n", " grademap[x.name] = list(x['班级'].value_counts().to_dict().keys())\n", "df5.groupby('年级').apply(fun)\n" ] }, { "cell_type": "code", "execution_count": 150, "id": "c9310b27", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'2023': ['2322数字媒体',\n", " '2317汽修2班',\n", " '2309旅游升学',\n", " '2312电商升学',\n", " '2316汽修1班',\n", " '2321建筑升学',\n", " '2306融通1班',\n", " '2319会计升学',\n", " '2310融通3班',\n", " '2314智维升学',\n", " '2315融通5班',\n", " '2302五年制会计',\n", " '2311电商军事',\n", " '2304五年制媒体',\n", " '2318会计融通',\n", " '2301五年制电子',\n", " '2325体育',\n", " '2308旅游融通',\n", " '2303五年制建筑',\n", " '2323舞蹈',\n", " '2326会计2班',\n", " '2305五年制汽修',\n", " '2320建筑融通',\n", " '2328数字媒体2班',\n", " '2327汽修3班',\n", " '2324音乐'],\n", " '2024': ['2422汽修2班',\n", " '2420融通7班',\n", " '2411融通3班',\n", " '2409会计升学',\n", " '2418数媒1班',\n", " '2421汽修1班',\n", " '2414旅游升学',\n", " '2427智维升学',\n", " '2406融通1班',\n", " '2408融通2班',\n", " '2407电商升学',\n", " '2402五年制会计',\n", " '2417融通6班',\n", " '2424运动训练',\n", " '2410建筑升学',\n", " '2423汽修3班',\n", " '2419数媒2班',\n", " '2413融通5班',\n", " '2425智慧服务',\n", " '2426融通8班',\n", " '2415舞蹈',\n", " '2404五年制数媒',\n", " '2405五年制汽修',\n", " '2403五年制建筑',\n", " '2401五年制电子',\n", " '2416音乐',\n", " '2412融通4班',\n", " '2418数字媒体1班'],\n", " '2025': ['2506电商升学',\n", " '2524汽修2班',\n", " '2525汽修3班',\n", " '2523汽修1班',\n", " '2514旅游升学',\n", " '2521融通9班',\n", " '2522融通10班',\n", " '2519数字媒体2班',\n", " '2518数字媒体1班',\n", " '2528智慧服务',\n", " '2511融通4班',\n", " '2517融通8班',\n", " '2512融通5班',\n", " '2516融通7班',\n", " '2526汽修4班',\n", " '2505融通1班',\n", " '2508会计升学',\n", " '2529融通11班',\n", " '2530智维升学',\n", " '2527运动训练',\n", " '2513融通6班',\n", " '2503五年制数字媒体',\n", " '2515音乐舞蹈',\n", " '2520数字媒体3班',\n", " '2501五年制会计',\n", " '2507融通2班',\n", " '2531一年制',\n", " '2510建筑升学',\n", " '2502五年制建筑',\n", " '2504五年制汽修',\n", " '2509融通3班']}" ] }, "execution_count": 150, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grademap" ] }, { "cell_type": "code", "execution_count": 153, "id": "c58a092d", "metadata": {}, "outputs": [], "source": [ "from requests import get,post\n", "import pandas as pd\n", "import time\n", "teamId = 106\n", "ip = \"http://192.168.0.244:8101\"\n", "param = {\n", " \"username\": \"tangchao\",\n", " \"password\": \"123456a\",\n", " \"client_id\": \"client\",\n", " \"grant_type\": \"password\",\n", " \"client_secret\": \"123456\",\n", "}\n", "data = get(url=f\"{ip}/oauth/token\",params=param).json()\n", "token = data[\"access_token\"]\n", "header = {\n", " \"content-type\": \"application/json\",\n", " \"authorization\": f\"Bearer {token}\",\n", "}" ] }, { "cell_type": "code", "execution_count": 157, "id": "b6976967", "metadata": {}, "outputs": [], "source": [ "for item in grademap['2023']:\n", " post(f'{ip}/uc/class/add',headers=header,json={\"gradeId\":327,\"teamId\":teamId,\"className\":item,\"enabled\":True})" ] }, { "cell_type": "code", "execution_count": null, "id": "45002504", "metadata": {}, "outputs": [], "source": [ "post(f'{ip}/uc/class/add',headers=header,json={\"gradeId\":322,\"teamId\":106,\"className\":\"测试班\",\"enabled\":true})" ] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.4" } }, "nbformat": 4, "nbformat_minor": 5 }