CBSE is one of the two national level boards of education in India (alongwith CISCE). While CISCE is a private board, CBSE is public, central government run board. Every year, over 1 million students take the CBSE Class XII (12) board examination as a high school leaving examination in India (and several schools abroad).
The sister repository to this, contains the cisce_schools_data.
As of 2018, there are 20,367 schools affiliated with the CBSE (out of which only 220 are outside India).
The details of each of these schools can be fetched from the CBSE School Directory.
Here is an example URL endpoint of the school DPS RK Puram (aff_no = 2730017).
You can replace the affno parameter with any Affiliation number to see the original raw data.
The main contribution of this project is to scrape, parse, clean, document, dump and open the data for all of these schools. The scraping, parsing and cleaning code is not in this repository.
README_DATA_BASICcontains a protocol buffer like documentation for the basic data (in thebasic/folder). Lists each of the fields, including which ones are required and optional, the degree to which the optional ones are present, as well as the type and enum definitions of each field.README_DATA_DETAILEDcontains a protocol buffer like documentation for the detailed data (in thedetailed/folder). Lists each of the fields, including which ones are required and optional, the degree to which the optional ones are present, as well as the type and enum definitions of each field.README_DISTRICTScontains details of the district (alongwith state enums)basic/The basic data containing the primary 25 fields.analyze_csv.pyreads thecsvfile in Python and prepares it for analysis.schools.csvthe csv file - 6.1MB.analyze_pickle.pyreads thepicklefile in Python and prepares it for analysis.schools.pthe pickle file - 9.8MB.
detailed/The detailed data containing the primary 25 fields and the 119 detailed fields for a total of 144 fields.analyze_csv.pyreads thecsvfile in Python and prepares it for analysis.schools_detailed.csvthe detailed csv file - 12MB.analyze_pickle.pyreads thepicklefile in Python and prepares it for analysis.schools_detailed.pthe detailed pickle file - 26.7MB.
There are 25 total fields per school, a total of ~510k data points. For full documentation, see README_DATA_BASIC.
required string nameSchool name in upper caserequired int32 aff_noAffiliation number, uniquerequired State stateIndian State/Union Territory or "Foreign Schools"optional District districtIndian District (or Country if state == FOREIGN SCHOOlS)required CbseRegion regionOne of the 10 CBSE regions this school is in the jurisdiction of.required string addressPostal Addressoptional int32 pincodeIndian pincodeoptional string ph_noPhone number (with STD Code). ';' Separated phone-numbers.optional string off_ph_noOffice phone number. ';' Separated phone-numbers.optional string res_ph_noResidential phone number. ';' Separated phone-numbers.optional string fax_noFax number. ';' Separated numbers.optional string emailEmail addressoptional string websiteWebsiteoptional int32 year_foundYear that the school was founded (between 1800 and 2018)optional Date date_openedDate that the school was opened (in form "Sep 9, 2010")optional string princi_nameName of the principal, upper caseoptional Sex sexGender/sex of the school/principal (unclear?).optional int32 princi_qualQualifications of the principaloptional int32 princi_exp_admNumber of years of administrative experience of the principaloptional int32 princi_exp_teachNumber of years of teaching experience of the principalrequired Status statusStatus of the school - e.g. Middle Class, Secondary or Senior Secondaryoptional AffiliationType aff_typeAffiliation Type e.g. Provisional, Permanentoptional Date aff_startAffiliation start date (in form "Sep 9, 2010")optional Date aff_endAffiliation end date (in form "Sep 19, 2011")optional string soc_nameName of Trust, Society or Managing Committee, upper case
There are 144 total fields per school - the 25 basic ones above, and 119 more, for a total of ~3m data points.
- School Location Details (6 fields)
optional string l_nearest_railwayName of nearest railway stationoptional float l_nearest_railway_distDistance (in km) to nearest railway stationoptional string l_nearest_policeName of nearest polic stationoptional float l_nearest_police_distDistance (in km) to nearest police stationoptional string l_nearest_bankName of nearest nationalized bankoptional float l_nearest_bank_distDistance (in km) to nearest nationalized bank
- School Nature Details (3 fields)
optional Category n_categoryThe gender category of the school (e.g. Co-educational, Boys, Girls)optional Medium n_mediumThe medium of instruction (e.g. English, Hindi)optional Type n_school_typeThe type of the school (e.g. Independent, Govt, KVS, JNV, Govt Aided, etc)
- School Enrollment Details (34 fields)
- -
sectionsand -studentsof each the different classes: e_nursery_- (Nursery/KG/LKG),e_i_v_- (Class I-V Elementary),e_vi_viii_- (Class VI-VIII Middle),e_ix_x_- (Class IX-X Secondary),e_xi_xii_- (Class XI-XII Senior Secondary) ande_i_-,e_ii_-,e_iii_-,e_iv_-,e_v_-,e_vi_-,e_vii_-,e_viii_-,e_ix_-,e_x_-,e_xi_-,e_xii_- (Class I through XII)
- -
- School Infrastructure Details (33 fields)
- Each of -
_no(number),_length(length in m),_breadth(breadth in m) of i_classrooms-,i_composite_lab-,i_phy_lab-,i_chem_lab-,i_bio_lab-,i_biotech_lab-,i_math_lab-,i_cs_lab-,i_home_lab-,i_library-,i_other_lab-
- Each of -
- School Teacher Details (21 fields)
- Each of -
_no(number),_trained(trained),_untrained(untrained) of t_ntts- NTTs: Nursery Teacher Trainingt_prts- PRTs: PRimary Teacher (1-5th, diploma in education)t_tgts- TGTs: Trained Graduate Teacher (6-10th, grad in subject, B.Ed)t_librarians- Librarianst_ptis- PTIs: Physical Training Instructort_pgts- PGTs: Post Graduate Teacher (11-12th, post grad in subject, B.Ed)t_execs- Executive (Vice Principal/Supervisor/Head Master/Head Mistress) Teacher
- Each of -
- School Physical Infrastructure Details (10 fields)
optional float p_area_meterArea of school (in m^2)optional float p_area_acreArea of school (in acre)optional float p_area_builtup_meterBuilt-up area of school (in m^2)optional Sites p_num_sitesNumber of sites this school is at (e.g. ONE, TWO)optional float p_area_playgroundArea of playground (in m^2)optional UrinalType p_urinal_typeType of urinals (e.g. flush, dry)optional int p_boys_urinalNumber of boys urinalsoptional int p_girls_urinalNumber of girls urinalsoptional bool p_potable_waterWhether the water is drinkableoptional bool p_health_certWhether the school has an Oficial Health and Sanitary certificate
- School Facilities Details (12 fields)
optional int f_total_booksNumber of total booksoptional int f_periodicalsNumber of periodicalsoptional int f_dailiesNumber of dailiesoptional int f_reference_booksNumber of reference booksoptional int f_magazineNumber of magazinesoptional bool f_swimming_poolSwimming Pool? (yes/no)optional bool f_indoor_gamesIndoor games? (yes/no)optional bool f_dance_roomsDance rooms? (yes/no)optional bool f_gymGym? (yes/no)optional bool f_music_roomsMusic rooms? (yes/no)optional bool f_hostelHostel? (yes/no)optional bool f_health_checkupHealth checkup? (yes/no)
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.