From cecd315463df09dfbafaea62b7cd0418206fbf35 Mon Sep 17 00:00:00 2001 From: Sathipp Date: Sun, 9 Oct 2022 00:55:33 +0900 Subject: [PATCH 01/22] Add xml2csv core --- xml2csv.py | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 xml2csv.py diff --git a/xml2csv.py b/xml2csv.py new file mode 100644 index 0000000..9d433db --- /dev/null +++ b/xml2csv.py @@ -0,0 +1,67 @@ +import argparse +import csv +import xml.etree.ElementTree as ET + + +attibute_list = ('EMPID', 'PASSPORT', 'FIRSTNAME', 'LASTNAME', 'GENDER', 'BIRTHDAY', 'NATIONALITY', 'HIRED', 'DEPT', 'POSITION', 'STATUS', 'REGION') + + +def xml2csv_converter_helper(records): + for record in records: + yield list(map(lambda attibute: record.find(attibute).text, attibute_list)) + + +def xml2csv_converter(xml_file, csv_file): + tree = ET.parse(xml_file) + records = tree.getroot() + csv_by_nationality = dict() + with open(csv_file, 'w', newline='') as output_file: + csv_writer = csv.writer(output_file, delimiter=',') + csv_writer.writerow(attibute_list) + for record in xml2csv_converter_helper(records): + nationality = record[6] + if nationality not in csv_by_nationality: + csv_by_nationality_file = f'{csv_file[:-4]}-{nationality}.csv' if csv_file[-4:] == '.csv' else csv_file + csv_by_nationality[nationality] = csv.writer(open(csv_by_nationality_file, 'w', newline=''), delimiter=',') + csv_by_nationality[nationality].writerow(attibute_list) + csv_writer.writerow(record) + csv_by_nationality[nationality].writerow(record) + + +def main(): + try: + xml_file = args.xml + csv_file = args.csv + xml2csv_converter(xml_file=xml_file, csv_file=csv_file) + except Exception as e: + print(e) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + + parser.add_argument( + "-xml", + default='data-devclub-1.xml', + help="Specify a xml file." + ) + + parser.add_argument( + "-csv", + default='data-devclub-1.csv', + help="Specify the name of a csv file to write to." + ) + + args = parser.parse_args() + + if not args.xml: + print("[-] Please specify a xml file." + "\nUse -xml to specify the file.") + exit() + + if not args.csv: + print("[-] Please specify the name of a csv file to write to. " + "\nUse -csv to specify the file") + exit() + + main() From 775ee1e8c099799b455029bced3151f46b173076 Mon Sep 17 00:00:00 2001 From: Sathipp Date: Sun, 9 Oct 2022 01:29:06 +0900 Subject: [PATCH 02/22] Add csv2sqlite core --- csv2sqlite.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 csv2sqlite.py diff --git a/csv2sqlite.py b/csv2sqlite.py new file mode 100644 index 0000000..8dc4bb7 --- /dev/null +++ b/csv2sqlite.py @@ -0,0 +1,36 @@ +import csv, sqlite3 + +csv_file = 'data-devclub-1.csv' +sqlite_file = 'data-devclub-1.db' +table_name = 'devclub' +headers = 'employeeId, passportNo, firstname, lastname, gender, birthDate, nationality, hiredDate, department, position, status, workRegion' +csv_header_map = {'employeeId': 'EMPID', + 'passportNo': 'PASSPORT', + 'firstname': 'FIRSTNAME', + 'lastname': 'LASTNAME', + 'gender': 'GENDER', + 'birthDate': 'BIRTHDAY', + 'nationality': 'NATIONALITY', + 'hiredDate': 'HIRED', + 'department': 'DEPT', + 'position': 'POSITION', + 'status': 'STATUS', + 'workRegion': 'REGION', +} + +con = sqlite3.connect(sqlite_file) +cur = con.cursor() + +cur.execute(f"SELECT count(name) FROM sqlite_master WHERE type='table' AND name='{table_name}'") +if cur.fetchone()[0]==1 : + print('Table exists.') +else : + cur.execute(f'CREATE TABLE {table_name} ({headers});') + +with open(csv_file,'r') as infile: + csv_dict_reader = csv.DictReader(infile) + to_sqlite = [list(map(lambda header: record[csv_header_map[header]], headers.split(', '))) for record in csv_dict_reader] + +cur.executemany(f'INSERT INTO devclub ({headers}) VALUES (?{", ?" * headers.count(",")});', to_sqlite) +con.commit() +con.close() From 5fc30afb41796342becf135d7d366bb6b4f7ec8e Mon Sep 17 00:00:00 2001 From: Natworpong Loyswai <28857628+rsxss@users.noreply.github.com> Date: Sun, 9 Oct 2022 05:38:23 +0700 Subject: [PATCH 03/22] [WIP] Add migration/clean feature --- csv2sqlite.py | 72 +++++++++++++++----------- data-devclub-1-Australia.csv | 3 ++ data-devclub-1-Austria.csv | 6 +++ data-devclub-1-Belgium.csv | 2 + data-devclub-1-Brazil.csv | 4 ++ data-devclub-1-China.csv | 3 ++ data-devclub-1-Colombia.csv | 3 ++ data-devclub-1-Costa Rica.csv | 6 +++ data-devclub-1-France.csv | 2 + data-devclub-1-Germany.csv | 2 + data-devclub-1-India.csv | 4 ++ data-devclub-1-Indonesia.csv | 2 + data-devclub-1-Ireland.csv | 3 ++ data-devclub-1-Italy.csv | 3 ++ data-devclub-1-Mexico.csv | 2 + data-devclub-1-Netherlands.csv | 2 + data-devclub-1-New Zealand.csv | 2 + data-devclub-1-Nigeria.csv | 2 + data-devclub-1-Norway.csv | 3 ++ data-devclub-1-Pakistan.csv | 2 + data-devclub-1-Peru.csv | 2 + data-devclub-1-Philippines.csv | 2 + data-devclub-1-Russian Federation.csv | 4 ++ data-devclub-1-Singapore.csv | 2 + data-devclub-1-South Africa.csv | 4 ++ data-devclub-1-South Korea.csv | 3 ++ data-devclub-1-Spain.csv | 2 + data-devclub-1-Sweden.csv | 6 +++ data-devclub-1-Turkey.csv | 4 ++ data-devclub-1-Ukraine.csv | 2 + data-devclub-1-United Kingdom.csv | 4 ++ data-devclub-1-United States.csv | 5 ++ data-devclub-1-Vietnam.csv | 7 +++ data-devclub-1.csv | 13 +++++ data-devclub-1.db | Bin 0 -> 12288 bytes xml2csv.py | 49 ++++++++++++++---- 36 files changed, 196 insertions(+), 41 deletions(-) create mode 100644 data-devclub-1-Australia.csv create mode 100644 data-devclub-1-Austria.csv create mode 100644 data-devclub-1-Belgium.csv create mode 100644 data-devclub-1-Brazil.csv create mode 100644 data-devclub-1-China.csv create mode 100644 data-devclub-1-Colombia.csv create mode 100644 data-devclub-1-Costa Rica.csv create mode 100644 data-devclub-1-France.csv create mode 100644 data-devclub-1-Germany.csv create mode 100644 data-devclub-1-India.csv create mode 100644 data-devclub-1-Indonesia.csv create mode 100644 data-devclub-1-Ireland.csv create mode 100644 data-devclub-1-Italy.csv create mode 100644 data-devclub-1-Mexico.csv create mode 100644 data-devclub-1-Netherlands.csv create mode 100644 data-devclub-1-New Zealand.csv create mode 100644 data-devclub-1-Nigeria.csv create mode 100644 data-devclub-1-Norway.csv create mode 100644 data-devclub-1-Pakistan.csv create mode 100644 data-devclub-1-Peru.csv create mode 100644 data-devclub-1-Philippines.csv create mode 100644 data-devclub-1-Russian Federation.csv create mode 100644 data-devclub-1-Singapore.csv create mode 100644 data-devclub-1-South Africa.csv create mode 100644 data-devclub-1-South Korea.csv create mode 100644 data-devclub-1-Spain.csv create mode 100644 data-devclub-1-Sweden.csv create mode 100644 data-devclub-1-Turkey.csv create mode 100644 data-devclub-1-Ukraine.csv create mode 100644 data-devclub-1-United Kingdom.csv create mode 100644 data-devclub-1-United States.csv create mode 100644 data-devclub-1-Vietnam.csv create mode 100644 data-devclub-1.csv create mode 100644 data-devclub-1.db diff --git a/csv2sqlite.py b/csv2sqlite.py index 8dc4bb7..36b1e39 100644 --- a/csv2sqlite.py +++ b/csv2sqlite.py @@ -1,36 +1,48 @@ -import csv, sqlite3 +import csv +import sqlite3 -csv_file = 'data-devclub-1.csv' -sqlite_file = 'data-devclub-1.db' -table_name = 'devclub' -headers = 'employeeId, passportNo, firstname, lastname, gender, birthDate, nationality, hiredDate, department, position, status, workRegion' -csv_header_map = {'employeeId': 'EMPID', - 'passportNo': 'PASSPORT', - 'firstname': 'FIRSTNAME', - 'lastname': 'LASTNAME', - 'gender': 'GENDER', - 'birthDate': 'BIRTHDAY', - 'nationality': 'NATIONALITY', - 'hiredDate': 'HIRED', - 'department': 'DEPT', - 'position': 'POSITION', - 'status': 'STATUS', - 'workRegion': 'REGION', -} +from contextlib import closing + +CSV_FILE = 'data-devclub-1.csv' +DATABASE = 'data-devclub-1.db' +TABLE_NAME = 'DEVCLUB' +HEADERS = 'employeeId, passportNo, firstname, lastname, gender, birthDate, nationality, hiredDate, department, position, status, workRegion' +CSV_HEADER_MAP = {'employeeId': 'EMPID', + 'passportNo': 'PASSPORT', + 'firstname': 'FIRSTNAME', + 'lastname': 'LASTNAME', + 'gender': 'GENDER', + 'birthDate': 'BIRTHDAY', + 'nationality': 'NATIONALITY', + 'hiredDate': 'HIRED', + 'department': 'DEPT', + 'position': 'POSITION', + 'status': 'STATUS', + 'workRegion': 'REGION', + } -con = sqlite3.connect(sqlite_file) -cur = con.cursor() +TABLE_SCHEMA = { + 'EMPID': 'INTEGER PRIMARY KEY', + 'PASSPORT': 'CHAR(11) NOT NULL UNIQUE', + 'FIRSTNAME': 'VARCHAR(255)', + 'LASTNAME': 'VARCHAR(255)', + 'GENDER': 'INT2', + 'BIRTHDAY': 'CHAR(10)', + 'NATIONALITY': 'VARCHAR(56)', + 'HIRED': 'CHAR(10)', + 'DEPT': 'VARCHAR(56)', + 'POSITION': 'VARCHAR(56)', + 'STATUS': 'TINYINT', + 'REGION': 'VARCHAR(85)', +} -cur.execute(f"SELECT count(name) FROM sqlite_master WHERE type='table' AND name='{table_name}'") -if cur.fetchone()[0]==1 : - print('Table exists.') -else : - cur.execute(f'CREATE TABLE {table_name} ({headers});') +JOINED_TABLE_SCHEMA = ',\n'.join((f'{struct} {domain}' for struct, domain in TABLE_SCHEMA.items())) +CREATE_TABLE_STATEMENT = f'CREATE TABLE IF NOT EXISTS {TABLE_NAME}({JOINED_TABLE_SCHEMA})' -with open(csv_file,'r') as infile: +with closing(sqlite3.connect(DATABASE)) as conn, open(CSV_FILE, 'r') as infile: csv_dict_reader = csv.DictReader(infile) - to_sqlite = [list(map(lambda header: record[csv_header_map[header]], headers.split(', '))) for record in csv_dict_reader] + payload = (list(map(lambda struct: record[struct], TABLE_SCHEMA)) for record in csv_dict_reader) -cur.executemany(f'INSERT INTO devclub ({headers}) VALUES (?{", ?" * headers.count(",")});', to_sqlite) -con.commit() -con.close() + with conn as cur: + cur.execute(CREATE_TABLE_STATEMENT) + cur.executemany(f'INSERT INTO {TABLE_NAME}({", ".join(TABLE_SCHEMA)}) VALUES (?{", ?" * (len(TABLE_SCHEMA) - 1)})', payload) diff --git a/data-devclub-1-Australia.csv b/data-devclub-1-Australia.csv new file mode 100644 index 0000000..c7c1bd7 --- /dev/null +++ b/data-devclub-1-Australia.csv @@ -0,0 +1,3 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +61,KGM73NWG1JP,Desirae,Melton,1,07-11-1993,Australia,12-04-2013,Aircraft Maintenance,Airhostess,0,Europe +76,YWT45VVP7KK,Nathan,Floyd,0,04-01-1988,Australia,09-10-2008,Flight Planning,Steward,3,USA diff --git a/data-devclub-1-Austria.csv b/data-devclub-1-Austria.csv new file mode 100644 index 0000000..7edd624 --- /dev/null +++ b/data-devclub-1-Austria.csv @@ -0,0 +1,6 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +4,CYB72WYU6UR,Winter,Blair,0,14-02-1993,Austria,24-03-2022,Pilot,Steward,4,Ocenia +40,JHJ72ODJ7RA,Gregory,Bryant,0,14-09-1968,Austria,10-01-2017,Flight Planning,Pilot,0,Middle East +47,CQW50GAD3DS,Martin,Payne,1,12-05-1961,Austria,07-10-2015,Pilot,Pilot,4,Ocenia +48,MKI89CUF6PR,Fuller,Alvarez,0,06-01-1988,Austria,30-12-2016,Flight Attendance,Pilot,4,APAC +100,WIN16ELU8GN,Orlando,Mayer,0,11-01-1961,Austria,07-04-2003,Pilot,Pilot,0,APAC diff --git a/data-devclub-1-Belgium.csv b/data-devclub-1-Belgium.csv new file mode 100644 index 0000000..4af7eab --- /dev/null +++ b/data-devclub-1-Belgium.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +72,AUY27DLM5FK,Leilani,Moran,0,25-08-1996,Belgium,08-04-2005,Aircraft Maintenance,Airhostess,2,Ocenia diff --git a/data-devclub-1-Brazil.csv b/data-devclub-1-Brazil.csv new file mode 100644 index 0000000..a216ca2 --- /dev/null +++ b/data-devclub-1-Brazil.csv @@ -0,0 +1,4 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +55,JJG71FLY1XR,Paula,Delaney,0,18-09-1986,Brazil,29-01-2003,Aircraft Maintenance,Steward,2,Middle East +68,GDJ74WSM7LG,Autumn,Page,0,01-11-1969,Brazil,24-04-2001,Aircraft Maintenance,Airhostess,3,Middle East +98,DOB31QXV4GZ,Moana,Walsh,1,03-05-1995,Brazil,21-04-2002,Pilot,Airhostess,3,Ocenia diff --git a/data-devclub-1-China.csv b/data-devclub-1-China.csv new file mode 100644 index 0000000..d2153be --- /dev/null +++ b/data-devclub-1-China.csv @@ -0,0 +1,3 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +31,JBK92QBQ9CF,Kyra,Noel,1,25-08-1972,China,27-11-2005,Flight Attendance,Airhostess,3,Canada +59,VDF94IVV1UX,Nomlanga,Stout,0,03-04-1975,China,06-08-2009,Flight Planning,Airhostess,0,Canada diff --git a/data-devclub-1-Colombia.csv b/data-devclub-1-Colombia.csv new file mode 100644 index 0000000..edc7c09 --- /dev/null +++ b/data-devclub-1-Colombia.csv @@ -0,0 +1,3 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +22,SOM23XJR5NC,Igor,Ochoa,1,11-10-1972,Colombia,02-11-2005,Flight Planning,Airhostess,4,APAC +49,PRX53TYM5LT,Macon,Trevino,1,01-10-1997,Colombia,17-12-2019,Flight Planning,Steward,0,Ocenia diff --git a/data-devclub-1-Costa Rica.csv b/data-devclub-1-Costa Rica.csv new file mode 100644 index 0000000..443f430 --- /dev/null +++ b/data-devclub-1-Costa Rica.csv @@ -0,0 +1,6 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +15,MOJ66TSD0LH,Jade,Simmons,1,04-03-1961,Costa Rica,24-12-2000,Aircraft Maintenance,Steward,0,Canada +19,SYT22ZIA2ZU,Thaddeus,Martinez,1,02-04-1975,Costa Rica,11-07-2015,Flight Attendance,Steward,0,Middle East +42,QSP69GYO0YK,Rajah,Roach,0,13-12-1992,Costa Rica,26-05-2011,Flight Attendance,Pilot,0,Europe +44,VTF75CUM7PC,Rhea,Keith,0,28-06-2000,Costa Rica,30-10-2010,Flight Attendance,Airhostess,4,Canada +62,LYL50VBA1GL,Armando,Moody,1,24-04-1989,Costa Rica,15-04-2020,Flight Planning,Steward,3,USA diff --git a/data-devclub-1-France.csv b/data-devclub-1-France.csv new file mode 100644 index 0000000..bb24c19 --- /dev/null +++ b/data-devclub-1-France.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +93,UXL43IOW6OV,Honorato,Maxwell,1,09-03-1982,France,04-02-2017,Aircraft Maintenance,Airhostess,1,Europe diff --git a/data-devclub-1-Germany.csv b/data-devclub-1-Germany.csv new file mode 100644 index 0000000..be0788f --- /dev/null +++ b/data-devclub-1-Germany.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +29,CMK62UAD3VK,Rowan,Leonard,1,15-07-1974,Germany,27-03-2004,Aircraft Maintenance,Pilot,1,Ocenia diff --git a/data-devclub-1-India.csv b/data-devclub-1-India.csv new file mode 100644 index 0000000..6a643a8 --- /dev/null +++ b/data-devclub-1-India.csv @@ -0,0 +1,4 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +20,JDS74VWV5XG,Lester,Edwards,1,11-10-1973,India,03-09-2000,Flight Planning,Airhostess,0,Canada +21,SMN51EPH5FE,Aline,Riley,0,04-06-1989,India,05-04-2001,Flight Attendance,Pilot,3,APAC +88,TRJ51LBJ6II,Shaeleigh,Roth,1,04-02-1986,India,15-03-2004,Aircraft Maintenance,Steward,4,Europe diff --git a/data-devclub-1-Indonesia.csv b/data-devclub-1-Indonesia.csv new file mode 100644 index 0000000..ab4b28f --- /dev/null +++ b/data-devclub-1-Indonesia.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +33,EWD45RJW5YK,Carter,Velasquez,0,23-11-1967,Indonesia,27-02-2005,Flight Planning,Pilot,1,APAC diff --git a/data-devclub-1-Ireland.csv b/data-devclub-1-Ireland.csv new file mode 100644 index 0000000..be1d03f --- /dev/null +++ b/data-devclub-1-Ireland.csv @@ -0,0 +1,3 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +37,GWY17TOL2UG,Matthew,Vasquez,1,17-03-1995,Ireland,01-07-2007,Flight Planning,Steward,4,Ocenia +67,BVY21SKG6CE,Kitra,Green,0,10-07-1967,Ireland,12-09-2006,Flight Planning,Airhostess,0,Middle East diff --git a/data-devclub-1-Italy.csv b/data-devclub-1-Italy.csv new file mode 100644 index 0000000..ebd7278 --- /dev/null +++ b/data-devclub-1-Italy.csv @@ -0,0 +1,3 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +34,BFS82MEY3CX,Selma,Bush,0,26-03-1972,Italy,10-10-2008,Flight Attendance,Airhostess,1,USA +80,EUC74ENE9ZK,Ryan,Rush,0,13-06-1998,Italy,31-07-2019,Aircraft Maintenance,Pilot,1,Middle East diff --git a/data-devclub-1-Mexico.csv b/data-devclub-1-Mexico.csv new file mode 100644 index 0000000..63a47af --- /dev/null +++ b/data-devclub-1-Mexico.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +50,MRC33GHJ2KW,Calvin,Roach,1,16-04-1999,Mexico,18-03-2011,Flight Attendance,Steward,1,Europe diff --git a/data-devclub-1-Netherlands.csv b/data-devclub-1-Netherlands.csv new file mode 100644 index 0000000..6f0bbcd --- /dev/null +++ b/data-devclub-1-Netherlands.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +23,NFH65BYM0VB,Armand,Horn,0,24-05-1987,Netherlands,19-06-2007,Aircraft Maintenance,Airhostess,1,Ocenia diff --git a/data-devclub-1-New Zealand.csv b/data-devclub-1-New Zealand.csv new file mode 100644 index 0000000..655194e --- /dev/null +++ b/data-devclub-1-New Zealand.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +83,LJK19GHE1TM,Dalton,Roberson,0,02-05-1994,New Zealand,21-06-2012,Aircraft Maintenance,Airhostess,0,Europe diff --git a/data-devclub-1-Nigeria.csv b/data-devclub-1-Nigeria.csv new file mode 100644 index 0000000..368d3f5 --- /dev/null +++ b/data-devclub-1-Nigeria.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +85,MUE55VMY6MX,Solomon,Booker,0,28-03-1961,Nigeria,18-09-2007,Aircraft Maintenance,Steward,3,APAC diff --git a/data-devclub-1-Norway.csv b/data-devclub-1-Norway.csv new file mode 100644 index 0000000..5554cf5 --- /dev/null +++ b/data-devclub-1-Norway.csv @@ -0,0 +1,3 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +6,KXU40SKR1YO,Simone,Mosley,0,20-11-1994,Norway,10-03-2023,Flight Planning,Steward,2,Canada +90,MCJ12FYX5KN,Maxine,Branch,1,29-05-1979,Norway,17-10-2018,Pilot,Steward,0,Europe diff --git a/data-devclub-1-Pakistan.csv b/data-devclub-1-Pakistan.csv new file mode 100644 index 0000000..621bd1f --- /dev/null +++ b/data-devclub-1-Pakistan.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +3,JUI65YBK7AF,Jada,Bender,0,28-05-1963,Pakistan,11-02-2001,Pilot,Pilot,1,Canada diff --git a/data-devclub-1-Peru.csv b/data-devclub-1-Peru.csv new file mode 100644 index 0000000..af44a54 --- /dev/null +++ b/data-devclub-1-Peru.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +97,SUF73DKV4QE,Dante,Hart,0,21-12-1999,Peru,22-02-2016,Pilot,Pilot,1,Europe diff --git a/data-devclub-1-Philippines.csv b/data-devclub-1-Philippines.csv new file mode 100644 index 0000000..5353e4b --- /dev/null +++ b/data-devclub-1-Philippines.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +66,WKV12UQC6QF,Zachery,Valentine,0,04-06-1971,Philippines,25-08-2011,Flight Attendance,Steward,1,Middle East diff --git a/data-devclub-1-Russian Federation.csv b/data-devclub-1-Russian Federation.csv new file mode 100644 index 0000000..5037976 --- /dev/null +++ b/data-devclub-1-Russian Federation.csv @@ -0,0 +1,4 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +26,CCE27MGJ8KI,Chloe,Blanchard,1,29-12-1998,Russian Federation,20-05-2001,Pilot,Steward,2,Middle East +81,DCD61JXD7UO,Brady,Hernandez,1,26-11-1961,Russian Federation,01-09-2022,Pilot,Airhostess,2,Europe +96,LJB26BQM6PS,Laith,Whitfield,0,14-01-1987,Russian Federation,09-02-2001,Pilot,Airhostess,0,APAC diff --git a/data-devclub-1-Singapore.csv b/data-devclub-1-Singapore.csv new file mode 100644 index 0000000..9e0d5b6 --- /dev/null +++ b/data-devclub-1-Singapore.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +95,OUP31WOE2IE,Dara,Wilcox,1,29-06-1996,Singapore,18-05-2011,Flight Attendance,Airhostess,1,Canada diff --git a/data-devclub-1-South Africa.csv b/data-devclub-1-South Africa.csv new file mode 100644 index 0000000..e9483c3 --- /dev/null +++ b/data-devclub-1-South Africa.csv @@ -0,0 +1,4 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +24,EQI56KFP6NU,Chaney,Ramsey,1,13-06-1972,South Africa,19-12-2002,Aircraft Maintenance,Steward,2,USA +51,BPO49TXH0XX,Charles,Kim,0,30-12-1968,South Africa,12-09-2015,Flight Planning,Pilot,2,Ocenia +75,KVI04NMS2QH,Shay,Mcdonald,1,29-12-1999,South Africa,07-03-2007,Aircraft Maintenance,Airhostess,4,Ocenia diff --git a/data-devclub-1-South Korea.csv b/data-devclub-1-South Korea.csv new file mode 100644 index 0000000..29a0fa5 --- /dev/null +++ b/data-devclub-1-South Korea.csv @@ -0,0 +1,3 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +1,OQI75XIE4UX,Christopher,Kennedy,1,05-02-1978,South Korea,20-02-2005,Flight Planning,Steward,2,Europe +35,XPI62OGX6QX,Roary,Frank,1,30-12-1979,South Korea,12-11-2008,Flight Attendance,Airhostess,2,Middle East diff --git a/data-devclub-1-Spain.csv b/data-devclub-1-Spain.csv new file mode 100644 index 0000000..616cc52 --- /dev/null +++ b/data-devclub-1-Spain.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +57,GRE66NCT2EF,Aimee,Stone,0,08-09-1990,Spain,25-07-2007,Flight Attendance,Pilot,3,Middle East diff --git a/data-devclub-1-Sweden.csv b/data-devclub-1-Sweden.csv new file mode 100644 index 0000000..7b8b10a --- /dev/null +++ b/data-devclub-1-Sweden.csv @@ -0,0 +1,6 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +9,WOW94MLI6CM,Prescott,Dudley,0,07-04-1990,Sweden,16-11-2012,Pilot,Steward,2,Canada +12,KGM77GAL2UW,Levi,Atkinson,0,08-10-1969,Sweden,13-09-2002,Aircraft Maintenance,Steward,4,Europe +13,UOM66JXI0ZD,Levi,Myers,0,29-12-1998,Sweden,13-09-2004,Aircraft Maintenance,Steward,0,Europe +16,WRS57BWI1RG,Serina,Tran,1,28-11-1980,Sweden,18-07-2010,Flight Planning,Steward,2,Canada +91,WEA16MFX7OE,Drew,Gordon,0,31-10-1981,Sweden,19-04-2015,Aircraft Maintenance,Steward,2,Ocenia diff --git a/data-devclub-1-Turkey.csv b/data-devclub-1-Turkey.csv new file mode 100644 index 0000000..f8b2492 --- /dev/null +++ b/data-devclub-1-Turkey.csv @@ -0,0 +1,4 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +39,DDI37UIV8QD,Trevor,Wyatt,0,14-02-1998,Turkey,15-03-2010,Pilot,Airhostess,2,USA +46,ZGJ51FDM2LC,Reese,Christensen,0,15-09-1993,Turkey,10-08-2011,Aircraft Maintenance,Pilot,3,Ocenia +64,GSW02GPL6OY,Wyoming,Joyner,0,20-11-1991,Turkey,17-04-2022,Flight Attendance,Steward,0,Europe diff --git a/data-devclub-1-Ukraine.csv b/data-devclub-1-Ukraine.csv new file mode 100644 index 0000000..bd5e2e1 --- /dev/null +++ b/data-devclub-1-Ukraine.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +5,AZE20CSG4MU,Lillian,Reese,0,03-12-1982,Ukraine,19-05-2002,Flight Planning,Steward,1,Canada diff --git a/data-devclub-1-United Kingdom.csv b/data-devclub-1-United Kingdom.csv new file mode 100644 index 0000000..d43d203 --- /dev/null +++ b/data-devclub-1-United Kingdom.csv @@ -0,0 +1,4 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +27,EDF66USR7HP,Anjolie,Dudley,1,27-12-1975,United Kingdom,28-07-2004,Aircraft Maintenance,Steward,0,USA +53,EKI78MBL1DM,Irene,Moon,0,02-10-1973,United Kingdom,21-04-2015,Flight Attendance,Airhostess,2,USA +54,ZCM30CQE2UN,Noelani,Watkins,0,31-08-1969,United Kingdom,18-07-2016,Aircraft Maintenance,Airhostess,4,Europe diff --git a/data-devclub-1-United States.csv b/data-devclub-1-United States.csv new file mode 100644 index 0000000..7f6f52c --- /dev/null +++ b/data-devclub-1-United States.csv @@ -0,0 +1,5 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +8,UCT91SOT6EN,Josephine,Hansen,1,12-10-1982,United States,24-12-2021,Flight Planning,Pilot,4,Middle East +17,TZU74JZT1GC,Talon,Santiago,1,17-04-1969,United States,02-09-2015,Aircraft Maintenance,Steward,0,Canada +73,XIJ68PKR7QT,Darius,Serrano,0,29-04-1990,United States,03-11-2005,Pilot,Steward,4,Middle East +79,RCQ71JXX4NH,Teagan,Daniel,1,02-09-1983,United States,22-05-2005,Pilot,Steward,0,APAC diff --git a/data-devclub-1-Vietnam.csv b/data-devclub-1-Vietnam.csv new file mode 100644 index 0000000..b8011a6 --- /dev/null +++ b/data-devclub-1-Vietnam.csv @@ -0,0 +1,7 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +11,LBI65YUK1BG,Hamilton,Duffy,1,09-11-1987,Vietnam,31-12-2021,Aircraft Maintenance,Steward,4,APAC +38,KMG07QVW7MP,Kylynn,Mullins,0,19-04-1979,Vietnam,07-11-2020,Aircraft Maintenance,Steward,0,Middle East +56,UWS82URG4LM,Keelie,Crosby,0,17-07-1985,Vietnam,01-04-2002,Flight Planning,Steward,0,USA +60,IUE46AKB9OH,Yuri,Evans,1,05-10-1973,Vietnam,18-04-2022,Aircraft Maintenance,Airhostess,0,Ocenia +77,EOP89YXA3YW,Wayne,Bowman,0,02-03-1991,Vietnam,28-03-2007,Aircraft Maintenance,Steward,2,APAC +89,PHE40UOS0GY,Amanda,Schwartz,1,03-04-1983,Vietnam,06-08-2019,Aircraft Maintenance,Steward,4,APAC diff --git a/data-devclub-1.csv b/data-devclub-1.csv new file mode 100644 index 0000000..6770f52 --- /dev/null +++ b/data-devclub-1.csv @@ -0,0 +1,13 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +3,JUI65YBK7AF,Jada,Bender,0,28-05-1963,Pakistan,11-02-2001,Pilot,Pilot,1,Canada +5,AZE20CSG4MU,Lillian,Reese,0,03-12-1982,Ukraine,19-05-2002,Flight Planning,Steward,1,Canada +23,NFH65BYM0VB,Armand,Horn,0,24-05-1987,Netherlands,19-06-2007,Aircraft Maintenance,Airhostess,1,Ocenia +29,CMK62UAD3VK,Rowan,Leonard,1,15-07-1974,Germany,27-03-2004,Aircraft Maintenance,Pilot,1,Ocenia +33,EWD45RJW5YK,Carter,Velasquez,0,23-11-1967,Indonesia,27-02-2005,Flight Planning,Pilot,1,APAC +34,BFS82MEY3CX,Selma,Bush,0,26-03-1972,Italy,10-10-2008,Flight Attendance,Airhostess,1,USA +50,MRC33GHJ2KW,Calvin,Roach,1,16-04-1999,Mexico,18-03-2011,Flight Attendance,Steward,1,Europe +66,WKV12UQC6QF,Zachery,Valentine,0,04-06-1971,Philippines,25-08-2011,Flight Attendance,Steward,1,Middle East +80,EUC74ENE9ZK,Ryan,Rush,0,13-06-1998,Italy,31-07-2019,Aircraft Maintenance,Pilot,1,Middle East +93,UXL43IOW6OV,Honorato,Maxwell,1,09-03-1982,France,04-02-2017,Aircraft Maintenance,Airhostess,1,Europe +95,OUP31WOE2IE,Dara,Wilcox,1,29-06-1996,Singapore,18-05-2011,Flight Attendance,Airhostess,1,Canada +97,SUF73DKV4QE,Dante,Hart,0,21-12-1999,Peru,22-02-2016,Pilot,Pilot,1,Europe diff --git a/data-devclub-1.db b/data-devclub-1.db new file mode 100644 index 0000000000000000000000000000000000000000..a67dd76bb8a639be52bf2f636b081d829432c8f7 GIT binary patch literal 12288 zcmeI1J#X7q6ox6gX)VV#3ls(+2!_dci4iLyFGYQ9rYOpy^+l7S6eUfaTk9rf!;lU| z*LHydMbWWCmjE6613L64bnVumKcGO@4jnu8Tv}=9B2A_YMK2*rI{bLwd!KVI0Ufyq zT|Xh>qbPog6H(>f=W;o2R}?vpTY!BL_7__YzP$4yfKM8~XKO*p@l6y}m7IRa$b+ZDaOb>Nvh%Pq@shkd^H#$+|bT)!*Yi0raqa= z%Wzv?A6kRH-nE94zXi1loM>B)+00znH0|NlE9`-5(VMRxb%*-UbH$<6pMdGkvSaRL zuc>L<+ogqf1-+Q#{BTOnXU_uoRey+2lPHZ3=a>$a`4{@Teu-ApD(oxQzvcKJcz5mh zwXfH1ul}-nwt9W#`xW#0Z*YQbi~u9R2rvSS03*N%FanGKBk5TJc8o+Kok z;_!&*etaCw5;B_^IK)#-9)QC}F)tM)4II3?-Lh&8#+AXS9feVhlc}05BEUqDG$FrbdPcQu_Radej&p%S=X7?g zsPk#mtON%as#21xbPDxX$)|{V{&X4;(ZsXllLp8aH=}s}fHSUZQIziy73WzE?iYm<%v1xex&3GnRM zDftY6IFx6-QnkWq1ay3is+YNzwYi5K;4p-0OY@-Hy7AEl9XFIwk>Cnr21pc%RFQ_oZBA5R)%Y!2l`j`lG^uT2+Ez^FhUC|noo;+&k zRA}0c;t)YaYM@@L_DKRshcQlPO1e70;SFVaX>FTW^?@0_bPpAo9Z!-D^pLz9MF17w5h_4rxq>c2su;g=oN1J7&^XiB5NMp~KwP77rfIPF7Y0A+ A00000 literal 0 HcmV?d00001 diff --git a/xml2csv.py b/xml2csv.py index 9d433db..0a7e9d9 100644 --- a/xml2csv.py +++ b/xml2csv.py @@ -2,28 +2,48 @@ import csv import xml.etree.ElementTree as ET +from datetime import datetime -attibute_list = ('EMPID', 'PASSPORT', 'FIRSTNAME', 'LASTNAME', 'GENDER', 'BIRTHDAY', 'NATIONALITY', 'HIRED', 'DEPT', 'POSITION', 'STATUS', 'REGION') +attribute_list = ( + 'EMPID', 'PASSPORT', 'FIRSTNAME', 'LASTNAME', 'GENDER', 'BIRTHDAY', 'NATIONALITY', 'HIRED', 'DEPT', 'POSITION', + 'STATUS', 'REGION') +current_datetime = datetime.now() # Acceptable edge case -def xml2csv_converter_helper(records): + +def ensure_years_experiences(date_str, years=3): + leap_days = 0 + target_date = datetime(int(date_str[6:]), int(date_str[3:5]), int(date_str[:2])) + for year in range(target_date.year, current_datetime.year+2): + if year & 3: + leap_days += 1 + return (current_datetime - target_date).days > years * 365 + leap_days + + +def xml2csv_converter_helper(records, convert_default): for record in records: - yield list(map(lambda attibute: record.find(attibute).text, attibute_list)) + if convert_default and \ + record[10].text is not '1' or \ + record[9].text not in ('Airhostess', 'Pilot', 'Steward') or \ + not ensure_years_experiences(record[7].text, years=3): + continue + yield list(map(lambda attibute: record.find(attibute).text, attribute_list)) -def xml2csv_converter(xml_file, csv_file): +def xml2csv_converter(xml_file, csv_file, convert_default): tree = ET.parse(xml_file) records = tree.getroot() csv_by_nationality = dict() with open(csv_file, 'w', newline='') as output_file: csv_writer = csv.writer(output_file, delimiter=',') - csv_writer.writerow(attibute_list) - for record in xml2csv_converter_helper(records): + csv_writer.writerow(attribute_list) + for record in xml2csv_converter_helper(records, convert_default): nationality = record[6] if nationality not in csv_by_nationality: csv_by_nationality_file = f'{csv_file[:-4]}-{nationality}.csv' if csv_file[-4:] == '.csv' else csv_file - csv_by_nationality[nationality] = csv.writer(open(csv_by_nationality_file, 'w', newline=''), delimiter=',') - csv_by_nationality[nationality].writerow(attibute_list) + csv_by_nationality[nationality] = csv.writer(open(csv_by_nationality_file, 'w', newline=''), + delimiter=',') + csv_by_nationality[nationality].writerow(attribute_list) csv_writer.writerow(record) csv_by_nationality[nationality].writerow(record) @@ -32,7 +52,8 @@ def main(): try: xml_file = args.xml csv_file = args.csv - xml2csv_converter(xml_file=xml_file, csv_file=csv_file) + convert_default = args.convert_default + xml2csv_converter(xml_file=xml_file, csv_file=csv_file, convert_default=convert_default) except Exception as e: print(e) @@ -51,14 +72,20 @@ def main(): default='data-devclub-1.csv', help="Specify the name of a csv file to write to." ) - + + parser.add_argument( + "--convert-default", + action='store_true', + help="Only convert actives 3 years experiences+ Airhostess, Pilot, Steward to csv file" + ) + args = parser.parse_args() if not args.xml: print("[-] Please specify a xml file." "\nUse -xml to specify the file.") exit() - + if not args.csv: print("[-] Please specify the name of a csv file to write to. " "\nUse -csv to specify the file") From 27dc932e2f39d47d723bfa54a29627b7074f0117 Mon Sep 17 00:00:00 2001 From: Sathipp Date: Sun, 9 Oct 2022 08:42:40 +0900 Subject: [PATCH 04/22] [WIP] Refactor features --- xml2csv.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xml2csv.py b/xml2csv.py index 0a7e9d9..f87ecba 100644 --- a/xml2csv.py +++ b/xml2csv.py @@ -10,12 +10,11 @@ current_datetime = datetime.now() # Acceptable edge case - def ensure_years_experiences(date_str, years=3): leap_days = 0 target_date = datetime(int(date_str[6:]), int(date_str[3:5]), int(date_str[:2])) for year in range(target_date.year, current_datetime.year+2): - if year & 3: + if year & 0b11: # mod 4 leap_days += 1 return (current_datetime - target_date).days > years * 365 + leap_days @@ -23,8 +22,9 @@ def ensure_years_experiences(date_str, years=3): def xml2csv_converter_helper(records, convert_default): for record in records: if convert_default and \ - record[10].text is not '1' or \ + record[10].text != '1' or \ record[9].text not in ('Airhostess', 'Pilot', 'Steward') or \ + record[0].text != record[1].text or \ not ensure_years_experiences(record[7].text, years=3): continue yield list(map(lambda attibute: record.find(attibute).text, attribute_list)) From be85237c280de63b0f7f082e934501b1b620060c Mon Sep 17 00:00:00 2001 From: Sathipp Date: Sun, 9 Oct 2022 10:37:31 +0900 Subject: [PATCH 05/22] [WIP] Filter duplicate id and passport number --- xml2csv.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/xml2csv.py b/xml2csv.py index f87ecba..635648b 100644 --- a/xml2csv.py +++ b/xml2csv.py @@ -20,13 +20,19 @@ def ensure_years_experiences(date_str, years=3): def xml2csv_converter_helper(records, convert_default): + existed_EMPID_set = set() + existed_PASSPORT = set() for record in records: if convert_default and \ - record[10].text != '1' or \ + (record[10].text != '1' or \ record[9].text not in ('Airhostess', 'Pilot', 'Steward') or \ - record[0].text != record[1].text or \ - not ensure_years_experiences(record[7].text, years=3): + record[0].text == record[1].text or \ + record[0].text in existed_EMPID_set or \ + record[1].text in existed_PASSPORT or \ + not ensure_years_experiences(record[7].text, years=3)): continue + existed_EMPID_set.add(record[0].text) + existed_PASSPORT.add(record[1].text) yield list(map(lambda attibute: record.find(attibute).text, attribute_list)) @@ -75,8 +81,8 @@ def main(): parser.add_argument( "--convert-default", - action='store_true', - help="Only convert actives 3 years experiences+ Airhostess, Pilot, Steward to csv file" + action='store_false', + help="Only convert actives 3 years experiences+ Airhostess, Pilot, Steward to csv file without duplicate ID and passport number" ) args = parser.parse_args() From fc7e2e6cdef691f9498084127952b764e937c5c3 Mon Sep 17 00:00:00 2001 From: Sathipp Date: Sun, 9 Oct 2022 10:47:28 +0900 Subject: [PATCH 06/22] [WIP] Refactor args --- xml2csv.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/xml2csv.py b/xml2csv.py index 635648b..5c5aa78 100644 --- a/xml2csv.py +++ b/xml2csv.py @@ -68,13 +68,13 @@ def main(): parser = argparse.ArgumentParser() parser.add_argument( - "-xml", + "--xml", default='data-devclub-1.xml', help="Specify a xml file." ) parser.add_argument( - "-csv", + "--csv", default='data-devclub-1.csv', help="Specify the name of a csv file to write to." ) @@ -88,13 +88,11 @@ def main(): args = parser.parse_args() if not args.xml: - print("[-] Please specify a xml file." - "\nUse -xml to specify the file.") + print("[-] Please specify a xml file.") exit() if not args.csv: - print("[-] Please specify the name of a csv file to write to. " - "\nUse -csv to specify the file") + print("[-] Please specify the name of a csv file to write to.") exit() main() From 0650824722af95e7910f08d10457167a3871351e Mon Sep 17 00:00:00 2001 From: Sathipp Date: Sun, 9 Oct 2022 10:48:23 +0900 Subject: [PATCH 07/22] [WIP] Add args parser to csv2sqlite --- csv2sqlite.py | 126 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 83 insertions(+), 43 deletions(-) diff --git a/csv2sqlite.py b/csv2sqlite.py index 36b1e39..b2bd5d7 100644 --- a/csv2sqlite.py +++ b/csv2sqlite.py @@ -1,48 +1,88 @@ import csv +import argparse import sqlite3 from contextlib import closing -CSV_FILE = 'data-devclub-1.csv' -DATABASE = 'data-devclub-1.db' -TABLE_NAME = 'DEVCLUB' -HEADERS = 'employeeId, passportNo, firstname, lastname, gender, birthDate, nationality, hiredDate, department, position, status, workRegion' -CSV_HEADER_MAP = {'employeeId': 'EMPID', - 'passportNo': 'PASSPORT', - 'firstname': 'FIRSTNAME', - 'lastname': 'LASTNAME', - 'gender': 'GENDER', - 'birthDate': 'BIRTHDAY', - 'nationality': 'NATIONALITY', - 'hiredDate': 'HIRED', - 'department': 'DEPT', - 'position': 'POSITION', - 'status': 'STATUS', - 'workRegion': 'REGION', - } - -TABLE_SCHEMA = { - 'EMPID': 'INTEGER PRIMARY KEY', - 'PASSPORT': 'CHAR(11) NOT NULL UNIQUE', - 'FIRSTNAME': 'VARCHAR(255)', - 'LASTNAME': 'VARCHAR(255)', - 'GENDER': 'INT2', - 'BIRTHDAY': 'CHAR(10)', - 'NATIONALITY': 'VARCHAR(56)', - 'HIRED': 'CHAR(10)', - 'DEPT': 'VARCHAR(56)', - 'POSITION': 'VARCHAR(56)', - 'STATUS': 'TINYINT', - 'REGION': 'VARCHAR(85)', -} - -JOINED_TABLE_SCHEMA = ',\n'.join((f'{struct} {domain}' for struct, domain in TABLE_SCHEMA.items())) -CREATE_TABLE_STATEMENT = f'CREATE TABLE IF NOT EXISTS {TABLE_NAME}({JOINED_TABLE_SCHEMA})' - -with closing(sqlite3.connect(DATABASE)) as conn, open(CSV_FILE, 'r') as infile: - csv_dict_reader = csv.DictReader(infile) - payload = (list(map(lambda struct: record[struct], TABLE_SCHEMA)) for record in csv_dict_reader) - - with conn as cur: - cur.execute(CREATE_TABLE_STATEMENT) - cur.executemany(f'INSERT INTO {TABLE_NAME}({", ".join(TABLE_SCHEMA)}) VALUES (?{", ?" * (len(TABLE_SCHEMA) - 1)})', payload) +def main(): + CSV_FILE = args.csv + DATABASE = args.database + TABLE_NAME = args.table_name + HEADERS = 'employeeId, passportNo, firstname, lastname, gender, birthDate, nationality, hiredDate, department, position, status, workRegion' + CSV_HEADER_MAP = {'employeeId': 'EMPID', + 'passportNo': 'PASSPORT', + 'firstname': 'FIRSTNAME', + 'lastname': 'LASTNAME', + 'gender': 'GENDER', + 'birthDate': 'BIRTHDAY', + 'nationality': 'NATIONALITY', + 'hiredDate': 'HIRED', + 'department': 'DEPT', + 'position': 'POSITION', + 'status': 'STATUS', + 'workRegion': 'REGION', + } + + TABLE_SCHEMA = { + 'EMPID': 'INTEGER PRIMARY KEY', + 'PASSPORT': 'CHAR(11) NOT NULL UNIQUE', + 'FIRSTNAME': 'VARCHAR(255)', + 'LASTNAME': 'VARCHAR(255)', + 'GENDER': 'INT2', + 'BIRTHDAY': 'CHAR(10)', + 'NATIONALITY': 'VARCHAR(56)', + 'HIRED': 'CHAR(10)', + 'DEPT': 'VARCHAR(56)', + 'POSITION': 'VARCHAR(56)', + 'STATUS': 'TINYINT', + 'REGION': 'VARCHAR(85)', + } + + JOINED_TABLE_SCHEMA = ',\n'.join((f'{struct} {domain}' for struct, domain in TABLE_SCHEMA.items())) + CREATE_TABLE_STATEMENT = f'CREATE TABLE IF NOT EXISTS {TABLE_NAME}({JOINED_TABLE_SCHEMA})' + + with closing(sqlite3.connect(DATABASE)) as conn, open(CSV_FILE, 'r') as infile: + csv_dict_reader = csv.DictReader(infile) + payload = (list(map(lambda struct: record[struct], TABLE_SCHEMA)) for record in csv_dict_reader) + + with conn as cur: + cur.execute(CREATE_TABLE_STATEMENT) + cur.executemany(f'INSERT INTO {TABLE_NAME}({", ".join(TABLE_SCHEMA)}) VALUES (?{", ?" * (len(TABLE_SCHEMA) - 1)})', payload) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + + parser.add_argument( + "--csv", + default='data-devclub-1.csv', + help="Specify a csv file." + ) + + parser.add_argument( + "--database", + default='data-devclub-1.db', + help="Specify the name of a database file to write to." + ) + + parser.add_argument( + "--table-name", + default='DEVCLUB', + help="Specify the name of a table" + ) + + args = parser.parse_args() + + if not args.csv: + print("[-] Please specify a csv file.") + exit() + + if not args.database: + print("[-] Please specify the name of a database file to write to.") + exit() + + if not args.table_name: + print("[-] Please specify the name of a table.") + exit() + + main() From adb54b1b1bdaf23ba747aed92a09c101d6d66a9b Mon Sep 17 00:00:00 2001 From: Natworpong Loyswai <28857628+rsxss@users.noreply.github.com> Date: Sun, 9 Oct 2022 15:20:56 +0700 Subject: [PATCH 08/22] Add json dumps --- csv2sqlite.py | 107 ++++++++++++++++++++++++++------------------ data-devclub-1.db | Bin 12288 -> 12288 bytes data-devclub-1.json | 92 +++++++++++++++++++++++++++++++++++++ xml2csv.py | 21 ++++----- 4 files changed, 166 insertions(+), 54 deletions(-) create mode 100644 data-devclub-1.json diff --git a/csv2sqlite.py b/csv2sqlite.py index b2bd5d7..24c93be 100644 --- a/csv2sqlite.py +++ b/csv2sqlite.py @@ -1,54 +1,73 @@ import csv import argparse +import collections +import json import sqlite3 +from os import remove from contextlib import closing +CSV_FILE = 'data-devclub-1.csv' +JSON_FILE = 'data-devclub-1.json' +DATABASE = 'data-devclub-1.db' +TABLE_NAME = 'DEVCLUB' +TABLE_SCHEMA = { + 'EMPID': 'INTEGER PRIMARY KEY', + 'PASSPORT': 'CHAR(11) NOT NULL UNIQUE', + 'FIRSTNAME': 'VARCHAR(255)', + 'LASTNAME': 'VARCHAR(255)', + 'GENDER': 'INT2', + 'BIRTHDAY': 'CHAR(10)', + 'NATIONALITY': 'VARCHAR(56)', + 'HIRED': 'CHAR(10)', + 'DEPT': 'VARCHAR(56)', + 'POSITION': 'VARCHAR(56)', + 'STATUS': 'TINYINT', + 'REGION': 'VARCHAR(85)', +} + +JOINED_TABLE_SCHEMA = ',\n'.join((f'{struct} {domain}' for struct, domain in TABLE_SCHEMA.items())) + +EMPLOYEE_RECORD = collections.namedtuple('EmployeeRecord', ','.join(TABLE_SCHEMA)) + +try: + remove(DATABASE) +except FileNotFoundError: + pass + + +def _json_dumps(objects): + output = {} + for i, obj in enumerate(objects): + output[i] = [] + for emp in map(EMPLOYEE_RECORD._make, iter(obj)): + output[i].append(emp._asdict()) + return json.dumps(output, indent=2) + + def main(): - CSV_FILE = args.csv - DATABASE = args.database - TABLE_NAME = args.table_name - HEADERS = 'employeeId, passportNo, firstname, lastname, gender, birthDate, nationality, hiredDate, department, position, status, workRegion' - CSV_HEADER_MAP = {'employeeId': 'EMPID', - 'passportNo': 'PASSPORT', - 'firstname': 'FIRSTNAME', - 'lastname': 'LASTNAME', - 'gender': 'GENDER', - 'birthDate': 'BIRTHDAY', - 'nationality': 'NATIONALITY', - 'hiredDate': 'HIRED', - 'department': 'DEPT', - 'position': 'POSITION', - 'status': 'STATUS', - 'workRegion': 'REGION', - } - - TABLE_SCHEMA = { - 'EMPID': 'INTEGER PRIMARY KEY', - 'PASSPORT': 'CHAR(11) NOT NULL UNIQUE', - 'FIRSTNAME': 'VARCHAR(255)', - 'LASTNAME': 'VARCHAR(255)', - 'GENDER': 'INT2', - 'BIRTHDAY': 'CHAR(10)', - 'NATIONALITY': 'VARCHAR(56)', - 'HIRED': 'CHAR(10)', - 'DEPT': 'VARCHAR(56)', - 'POSITION': 'VARCHAR(56)', - 'STATUS': 'TINYINT', - 'REGION': 'VARCHAR(85)', - } - - JOINED_TABLE_SCHEMA = ',\n'.join((f'{struct} {domain}' for struct, domain in TABLE_SCHEMA.items())) - CREATE_TABLE_STATEMENT = f'CREATE TABLE IF NOT EXISTS {TABLE_NAME}({JOINED_TABLE_SCHEMA})' - - with closing(sqlite3.connect(DATABASE)) as conn, open(CSV_FILE, 'r') as infile: + with closing(sqlite3.connect(DATABASE)) as conn, open(CSV_FILE, 'r') as infile, open(JSON_FILE, 'w') as outfile: csv_dict_reader = csv.DictReader(infile) payload = (list(map(lambda struct: record[struct], TABLE_SCHEMA)) for record in csv_dict_reader) with conn as cur: - cur.execute(CREATE_TABLE_STATEMENT) - cur.executemany(f'INSERT INTO {TABLE_NAME}({", ".join(TABLE_SCHEMA)}) VALUES (?{", ?" * (len(TABLE_SCHEMA) - 1)})', payload) - + cur.execute(f'CREATE TABLE {TABLE_NAME}({JOINED_TABLE_SCHEMA})') + cur.execute(f'CREATE VIEW `VIEW_EMP_REGION` AS SELECT * FROM {TABLE_NAME} ORDER BY REGION') + cur.execute(f'CREATE VIEW `VIEW_EMP_DEPARTMENT` AS SELECT * FROM {TABLE_NAME} ORDER BY DEPT') + cur.execute(f'CREATE VIEW `VIEW_EMP_NATIONALITY` AS SELECT * FROM {TABLE_NAME} ORDER BY NATIONALITY') + + cur.executemany( + f'INSERT INTO {TABLE_NAME} VALUES (?{", ?" * (len(TABLE_SCHEMA) - 1)})', + payload) + + with conn as cur: + result_sets = [ + cur.execute('SELECT * FROM `VIEW_EMP_REGION` WHERE REGION = ?', ('Europe',)), + cur.execute('SELECT * FROM `VIEW_EMP_DEPARTMENT` WHERE DEPT = ?', ('Flight Planning',)), + cur.execute('SELECT * FROM `VIEW_EMP_NATIONALITY` WHERE NATIONALITY = ?', ('Ukraine',)) + ] + outfile.write(_json_dumps(result_sets)) + if __name__ == '__main__': parser = argparse.ArgumentParser() @@ -75,14 +94,14 @@ def main(): if not args.csv: print("[-] Please specify a csv file.") - exit() + exit(1) if not args.database: print("[-] Please specify the name of a database file to write to.") - exit() + exit(1) if not args.table_name: print("[-] Please specify the name of a table.") - exit() + exit(1) - main() +main() diff --git a/data-devclub-1.db b/data-devclub-1.db index a67dd76bb8a639be52bf2f636b081d829432c8f7..94d785ba34d80dbd176e7381e3812aa2a51a33f1 100644 GIT binary patch delta 444 zcmZojXh@hKEy&8iz`zW|Fu*cV$5@<|LC?RIm;VO?E3YyG-&FpSd@8&vd6hR7uH~t3 zWM*X-H8tgE)Gf?C)7#7Kgh*3NWm#m0c1x#)RIaTc2Q$vjz(D&SGc$a zI0l9Iy84B{?LY`&cLPG67$>;Yy9R{hGqa0oYjZS8qSzhe>JAJ6xV;cAb~_<*#MlQ> V*<{GbE-o$2*kW0-c>!O7A^=ITcryS1 delta 55 zcmZojXh@hKEy%>cz`zW|Fu*ub#~3K6=U>aq|AT>vZz==dRQ{8j6%|zZHc#ctRs;b3 C916Vv diff --git a/data-devclub-1.json b/data-devclub-1.json new file mode 100644 index 0000000..4e3f8b7 --- /dev/null +++ b/data-devclub-1.json @@ -0,0 +1,92 @@ +{ + "0": [ + { + "EMPID": 50, + "PASSPORT": "MRC33GHJ2KW", + "FIRSTNAME": "Calvin", + "LASTNAME": "Roach", + "GENDER": 1, + "BIRTHDAY": "16-04-1999", + "NATIONALITY": "Mexico", + "HIRED": "18-03-2011", + "DEPT": "Flight Attendance", + "POSITION": "Steward", + "STATUS": 1, + "REGION": "Europe" + }, + { + "EMPID": 93, + "PASSPORT": "UXL43IOW6OV", + "FIRSTNAME": "Honorato", + "LASTNAME": "Maxwell", + "GENDER": 1, + "BIRTHDAY": "09-03-1982", + "NATIONALITY": "France", + "HIRED": "04-02-2017", + "DEPT": "Aircraft Maintenance", + "POSITION": "Airhostess", + "STATUS": 1, + "REGION": "Europe" + }, + { + "EMPID": 97, + "PASSPORT": "SUF73DKV4QE", + "FIRSTNAME": "Dante", + "LASTNAME": "Hart", + "GENDER": 0, + "BIRTHDAY": "21-12-1999", + "NATIONALITY": "Peru", + "HIRED": "22-02-2016", + "DEPT": "Pilot", + "POSITION": "Pilot", + "STATUS": 1, + "REGION": "Europe" + } + ], + "1": [ + { + "EMPID": 5, + "PASSPORT": "AZE20CSG4MU", + "FIRSTNAME": "Lillian", + "LASTNAME": "Reese", + "GENDER": 0, + "BIRTHDAY": "03-12-1982", + "NATIONALITY": "Ukraine", + "HIRED": "19-05-2002", + "DEPT": "Flight Planning", + "POSITION": "Steward", + "STATUS": 1, + "REGION": "Canada" + }, + { + "EMPID": 33, + "PASSPORT": "EWD45RJW5YK", + "FIRSTNAME": "Carter", + "LASTNAME": "Velasquez", + "GENDER": 0, + "BIRTHDAY": "23-11-1967", + "NATIONALITY": "Indonesia", + "HIRED": "27-02-2005", + "DEPT": "Flight Planning", + "POSITION": "Pilot", + "STATUS": 1, + "REGION": "APAC" + } + ], + "2": [ + { + "EMPID": 5, + "PASSPORT": "AZE20CSG4MU", + "FIRSTNAME": "Lillian", + "LASTNAME": "Reese", + "GENDER": 0, + "BIRTHDAY": "03-12-1982", + "NATIONALITY": "Ukraine", + "HIRED": "19-05-2002", + "DEPT": "Flight Planning", + "POSITION": "Steward", + "STATUS": 1, + "REGION": "Canada" + } + ] +} \ No newline at end of file diff --git a/xml2csv.py b/xml2csv.py index 5c5aa78..ce6cc5e 100644 --- a/xml2csv.py +++ b/xml2csv.py @@ -10,11 +10,12 @@ current_datetime = datetime.now() # Acceptable edge case + def ensure_years_experiences(date_str, years=3): leap_days = 0 target_date = datetime(int(date_str[6:]), int(date_str[3:5]), int(date_str[:2])) - for year in range(target_date.year, current_datetime.year+2): - if year & 0b11: # mod 4 + for year in range(target_date.year, current_datetime.year + 2): + if year & 0b11: # mod 4 leap_days += 1 return (current_datetime - target_date).days > years * 365 + leap_days @@ -25,15 +26,15 @@ def xml2csv_converter_helper(records, convert_default): for record in records: if convert_default and \ (record[10].text != '1' or \ - record[9].text not in ('Airhostess', 'Pilot', 'Steward') or \ - record[0].text == record[1].text or \ - record[0].text in existed_EMPID_set or \ - record[1].text in existed_PASSPORT or \ - not ensure_years_experiences(record[7].text, years=3)): + record[9].text not in ('Airhostess', 'Pilot', 'Steward') or \ + record[0].text == record[1].text or \ + record[0].text in existed_EMPID_set or \ + record[1].text in existed_PASSPORT or \ + not ensure_years_experiences(record[7].text, years=3)): continue existed_EMPID_set.add(record[0].text) existed_PASSPORT.add(record[1].text) - yield list(map(lambda attibute: record.find(attibute).text, attribute_list)) + yield list(map(lambda attribute: record.find(attribute).text, attribute_list)) def xml2csv_converter(xml_file, csv_file, convert_default): @@ -89,10 +90,10 @@ def main(): if not args.xml: print("[-] Please specify a xml file.") - exit() + exit(1) if not args.csv: print("[-] Please specify the name of a csv file to write to.") - exit() + exit(1) main() From a8bf3ada1c80aa0595b688e4140a478c43469e0b Mon Sep 17 00:00:00 2001 From: Natworpong Loyswai <28857628+rsxss@users.noreply.github.com> Date: Sun, 9 Oct 2022 15:37:33 +0700 Subject: [PATCH 09/22] Perf use sql instead of os call --- csv2sqlite.py | 43 +++++++++++++-------- data-devclub-1.db | Bin 12288 -> 0 bytes data-devclub-1.json | 92 -------------------------------------------- 3 files changed, 27 insertions(+), 108 deletions(-) delete mode 100644 data-devclub-1.db diff --git a/csv2sqlite.py b/csv2sqlite.py index 24c93be..1ce252d 100644 --- a/csv2sqlite.py +++ b/csv2sqlite.py @@ -4,8 +4,7 @@ import json import sqlite3 -from os import remove -from contextlib import closing +from contextlib import closing, suppress CSV_FILE = 'data-devclub-1.csv' JSON_FILE = 'data-devclub-1.json' @@ -30,11 +29,6 @@ EMPLOYEE_RECORD = collections.namedtuple('EmployeeRecord', ','.join(TABLE_SCHEMA)) -try: - remove(DATABASE) -except FileNotFoundError: - pass - def _json_dumps(objects): output = {} @@ -50,21 +44,20 @@ def main(): csv_dict_reader = csv.DictReader(infile) payload = (list(map(lambda struct: record[struct], TABLE_SCHEMA)) for record in csv_dict_reader) - with conn as cur: - cur.execute(f'CREATE TABLE {TABLE_NAME}({JOINED_TABLE_SCHEMA})') - cur.execute(f'CREATE VIEW `VIEW_EMP_REGION` AS SELECT * FROM {TABLE_NAME} ORDER BY REGION') - cur.execute(f'CREATE VIEW `VIEW_EMP_DEPARTMENT` AS SELECT * FROM {TABLE_NAME} ORDER BY DEPT') - cur.execute(f'CREATE VIEW `VIEW_EMP_NATIONALITY` AS SELECT * FROM {TABLE_NAME} ORDER BY NATIONALITY') + with suppress(sqlite3.IntegrityError), conn as cur: + cur.execute(f'CREATE TABLE IF NOT EXISTS {TABLE_NAME}({JOINED_TABLE_SCHEMA})') + cur.execute(f'CREATE VIEW IF NOT EXISTS `VIEW_EMP_REGION` AS SELECT * FROM {TABLE_NAME} ORDER BY REGION') + cur.execute(f'CREATE VIEW IF NOT EXISTS `VIEW_EMP_DEPARTMENT` AS SELECT * FROM {TABLE_NAME} ORDER BY DEPT') + cur.execute(f'CREATE VIEW IF NOT EXISTS `VIEW_EMP_NATIONALITY` AS SELECT * FROM {TABLE_NAME} ORDER BY NATIONALITY') cur.executemany( f'INSERT INTO {TABLE_NAME} VALUES (?{", ?" * (len(TABLE_SCHEMA) - 1)})', payload) - with conn as cur: result_sets = [ - cur.execute('SELECT * FROM `VIEW_EMP_REGION` WHERE REGION = ?', ('Europe',)), - cur.execute('SELECT * FROM `VIEW_EMP_DEPARTMENT` WHERE DEPT = ?', ('Flight Planning',)), - cur.execute('SELECT * FROM `VIEW_EMP_NATIONALITY` WHERE NATIONALITY = ?', ('Ukraine',)) + cur.execute('SELECT * FROM `VIEW_EMP_REGION` WHERE REGION = ?', (args.region_param,)), + cur.execute('SELECT * FROM `VIEW_EMP_DEPARTMENT` WHERE DEPT = ?', (args.dept_param,)), + cur.execute('SELECT * FROM `VIEW_EMP_NATIONALITY` WHERE NATIONALITY = ?', (args.nation_param,)) ] outfile.write(_json_dumps(result_sets)) @@ -90,6 +83,24 @@ def main(): help="Specify the name of a table" ) + parser.add_argument( + "--region-param", + default='Europe', + help="Specify parameter for SQLite View region-based query" + ) + + parser.add_argument( + "--dept-param", + default='Flight Planning', + help="Specify parameter for SQLite View department-based query" + ) + + parser.add_argument( + "--nation-param", + default='Ukraine', + help="Specify parameter for SQLite View nationality-based query" + ) + args = parser.parse_args() if not args.csv: diff --git a/data-devclub-1.db b/data-devclub-1.db deleted file mode 100644 index 94d785ba34d80dbd176e7381e3812aa2a51a33f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI1&u<$=6vu7S5Ic>tNXW7*E9$!D(2%&@A71~sb#1TXjel+Shh4W6XNafG((P`# z-ZTjk5jpfK`{IgTJiOv_IdZr6X@dDPvYg08 z*1u+cT7NI`9X!&D5}*Vq0ZM=ppaduZN`Mle1So<3B7yUz<&~r)#m@6DZG6&KmBC2q zXrr!ds=cn6(`kS51qjaMk}hGl0>ix3rSn+KQd0uSx654y^xD zc4jV?ob|nq+-&6Md~_w1$wa@X1n46N&#}xu-kNKea<#2oAiDz*QR}SQHI*Ger|D`( z)`x6M8E&s?vSDaF-DGP`S-->cn{2mdvR$j)X05KeXDQpO4OKVHuH1om$@+AdAW56s zt8IB<^N!Lb0RlB)d$p?SX0t92=k7W9S}1In4y7V=G*w-xhXxY5*GFhQLnV22z11*f z(=u37?G8b7dv%8Ca!gs;+|0lAc1q4fBepxnr;`^B{HhtkfI zCE#AW`AvlRfic#9U;lFbZsM23N#f?(_iM_{-=KqDlmI0_2~Yx*03|>PPy&ZO=l%gupYDvqS_l2d;O;8 zdOixg4mv%-j>CbB2r^}%;S)z(VLs^+xIFODlYs3Y8`kGumzgc(u|^gGOj21X70)SF ztyECDO66foKSQp5JUQgW`7+9CfSfat&vPZRgvuiKQ$!tmJa#avph@s?72IcT#j?5V zy-YkeX!Uu)+N%}!8V}LIA@p5C2-+rsl;_Hec^LsdLH;=lnuA;yvTYg%S(9rY zZjgCH8f8d))3r{kC|Gh`?6-991i5YOxj>Nz&LuMS!VZQ%t=%)?m|)=w{}|=o0d{SK zQ)KqQB{xmeZlhV0s>2S~ugb*Hxas+>02wKP_j0L=0|+|IaXjIty8{&dB~52CkCs6u zlZwGIwjj3hLq*_f#!jJQwQa|-AyYA)V1l3Q-m+jl^C9Ok5h44H6aL0$o;|az)?EVU z$#g8cF+CS{Ewv~OtF4mU*oBQ)g$;^*VY+hxzNn#R_9Q?q#A13laQxNbF!Q$xC)pZv zKf?UVe9QdE96=r659TZ8XGUZ0GyBYEZ~UO60+awHKnYL+lmI0_2~Yx*03|>PPy&>| z|9}9ql#7OnbBNfX3fqX-p?cV3VuuP>8nHu_rYf;R)gXb`p#skB>G!Y7E?HuS3MCuF T4iz?1#12&;mWdrI8Z7+ Date: Sun, 9 Oct 2022 18:22:38 +0700 Subject: [PATCH 10/22] Add .gitignore and format code --- .gitignore | 166 ++++++++++++++++++++++++++++++++++++++++++++ csv2sqlite.py | 140 ++++++++++++++++++++++--------------- data-devclub-1.db | Bin 0 -> 12288 bytes data-devclub-1.json | 92 ++++++++++++++++++++++++ xml2csv.py | 69 +++++++++++------- 5 files changed, 385 insertions(+), 82 deletions(-) create mode 100644 .gitignore create mode 100644 data-devclub-1.db diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e72a96d --- /dev/null +++ b/.gitignore @@ -0,0 +1,166 @@ +# Created by https://www.toptal.com/developers/gitignore/api/python +# Edit at https://www.toptal.com/developers/gitignore?templates=python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# End of https://www.toptal.com/developers/gitignore/api/python diff --git a/csv2sqlite.py b/csv2sqlite.py index 1ce252d..7c63dea 100644 --- a/csv2sqlite.py +++ b/csv2sqlite.py @@ -4,30 +4,7 @@ import json import sqlite3 -from contextlib import closing, suppress - -CSV_FILE = 'data-devclub-1.csv' -JSON_FILE = 'data-devclub-1.json' -DATABASE = 'data-devclub-1.db' -TABLE_NAME = 'DEVCLUB' -TABLE_SCHEMA = { - 'EMPID': 'INTEGER PRIMARY KEY', - 'PASSPORT': 'CHAR(11) NOT NULL UNIQUE', - 'FIRSTNAME': 'VARCHAR(255)', - 'LASTNAME': 'VARCHAR(255)', - 'GENDER': 'INT2', - 'BIRTHDAY': 'CHAR(10)', - 'NATIONALITY': 'VARCHAR(56)', - 'HIRED': 'CHAR(10)', - 'DEPT': 'VARCHAR(56)', - 'POSITION': 'VARCHAR(56)', - 'STATUS': 'TINYINT', - 'REGION': 'VARCHAR(85)', -} - -JOINED_TABLE_SCHEMA = ',\n'.join((f'{struct} {domain}' for struct, domain in TABLE_SCHEMA.items())) - -EMPLOYEE_RECORD = collections.namedtuple('EmployeeRecord', ','.join(TABLE_SCHEMA)) +from contextlib import closing def _json_dumps(objects): @@ -40,65 +17,91 @@ def _json_dumps(objects): def main(): - with closing(sqlite3.connect(DATABASE)) as conn, open(CSV_FILE, 'r') as infile, open(JSON_FILE, 'w') as outfile: + with closing(sqlite3.connect(DATABASE)) as conn, open( + CSV_FILE, "r" + ) as infile, open(JSON_FILE, "w") as outfile: csv_dict_reader = csv.DictReader(infile) - payload = (list(map(lambda struct: record[struct], TABLE_SCHEMA)) for record in csv_dict_reader) - - with suppress(sqlite3.IntegrityError), conn as cur: - cur.execute(f'CREATE TABLE IF NOT EXISTS {TABLE_NAME}({JOINED_TABLE_SCHEMA})') - cur.execute(f'CREATE VIEW IF NOT EXISTS `VIEW_EMP_REGION` AS SELECT * FROM {TABLE_NAME} ORDER BY REGION') - cur.execute(f'CREATE VIEW IF NOT EXISTS `VIEW_EMP_DEPARTMENT` AS SELECT * FROM {TABLE_NAME} ORDER BY DEPT') - cur.execute(f'CREATE VIEW IF NOT EXISTS `VIEW_EMP_NATIONALITY` AS SELECT * FROM {TABLE_NAME} ORDER BY NATIONALITY') - - cur.executemany( - f'INSERT INTO {TABLE_NAME} VALUES (?{", ?" * (len(TABLE_SCHEMA) - 1)})', - payload) + payload = ( + list(map(lambda struct: record[struct], TABLE_SCHEMA)) + for record in csv_dict_reader + ) + + with conn as cur: + cur.execute( + f"CREATE TABLE IF NOT EXISTS {TABLE_NAME}({JOINED_TABLE_SCHEMA})" + ) + cur.execute( + f"CREATE VIEW IF NOT EXISTS `VIEW_EMP_REGION` AS SELECT * FROM {TABLE_NAME} ORDER BY REGION" + ) + cur.execute( + f"CREATE VIEW IF NOT EXISTS `VIEW_EMP_DEPARTMENT` AS SELECT * FROM {TABLE_NAME} ORDER BY DEPT" + ) + cur.execute( + f"CREATE VIEW IF NOT EXISTS `VIEW_EMP_NATIONALITY` AS SELECT * FROM {TABLE_NAME} ORDER BY NATIONALITY" + ) + + try: + cur.executemany( + f'INSERT INTO {TABLE_NAME} VALUES (?{", ?" * (len(TABLE_SCHEMA) - 1)})', + payload, + ) + except sqlite3.IntegrityError: + pass result_sets = [ - cur.execute('SELECT * FROM `VIEW_EMP_REGION` WHERE REGION = ?', (args.region_param,)), - cur.execute('SELECT * FROM `VIEW_EMP_DEPARTMENT` WHERE DEPT = ?', (args.dept_param,)), - cur.execute('SELECT * FROM `VIEW_EMP_NATIONALITY` WHERE NATIONALITY = ?', (args.nation_param,)) + cur.execute( + "SELECT * FROM `VIEW_EMP_REGION` WHERE REGION = ?", + (args.region_param,), + ), + cur.execute( + "SELECT * FROM `VIEW_EMP_DEPARTMENT` WHERE DEPT = ?", + (args.dept_param,), + ), + cur.execute( + "SELECT * FROM `VIEW_EMP_NATIONALITY` WHERE NATIONALITY = ?", + (args.nation_param,), + ), ] outfile.write(_json_dumps(result_sets)) -if __name__ == '__main__': +if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( "--csv", - default='data-devclub-1.csv', + default="data-devclub-1.csv", help="Specify a csv file." ) - + parser.add_argument( + "--json", + default="data-devclub-1.json", + help="Specify a json outfile." + ) parser.add_argument( "--database", - default='data-devclub-1.db', - help="Specify the name of a database file to write to." + default="data-devclub-1.db", + help="Specify the name of a database file to write to.", ) - parser.add_argument( "--table-name", - default='DEVCLUB', + default="DEVCLUB", help="Specify the name of a table" ) - parser.add_argument( "--region-param", - default='Europe', - help="Specify parameter for SQLite View region-based query" + default="Europe", + help="Specify parameter for SQLite View region-based query", ) - parser.add_argument( "--dept-param", - default='Flight Planning', - help="Specify parameter for SQLite View department-based query" + default="Flight Planning", + help="Specify parameter for SQLite View department-based query", ) - parser.add_argument( "--nation-param", - default='Ukraine', - help="Specify parameter for SQLite View nationality-based query" + default="Ukraine", + help="Specify parameter for SQLite View nationality-based query", ) args = parser.parse_args() @@ -115,4 +118,29 @@ def main(): print("[-] Please specify the name of a table.") exit(1) -main() + CSV_FILE = args.csv + JSON_FILE = args.json + DATABASE = args.database + TABLE_NAME = args.table_name + TABLE_SCHEMA = { + "EMPID": "INTEGER PRIMARY KEY", + "PASSPORT": "CHAR(11) NOT NULL UNIQUE", + "FIRSTNAME": "VARCHAR(255)", + "LASTNAME": "VARCHAR(255)", + "GENDER": "INT2", + "BIRTHDAY": "CHAR(10)", + "NATIONALITY": "VARCHAR(56)", + "HIRED": "CHAR(10)", + "DEPT": "VARCHAR(56)", + "POSITION": "VARCHAR(56)", + "STATUS": "TINYINT", + "REGION": "VARCHAR(85)", + } + + JOINED_TABLE_SCHEMA = ",\n".join( + (f"{struct} {domain}" for struct, domain in TABLE_SCHEMA.items()) + ) + + EMPLOYEE_RECORD = collections.namedtuple("EmployeeRecord", ",".join(TABLE_SCHEMA)) + + main() diff --git a/data-devclub-1.db b/data-devclub-1.db new file mode 100644 index 0000000000000000000000000000000000000000..94d785ba34d80dbd176e7381e3812aa2a51a33f1 GIT binary patch literal 12288 zcmeI1&u<$=6vu7S5Ic>tNXW7*E9$!D(2%&@A71~sb#1TXjel+Shh4W6XNafG((P`# z-ZTjk5jpfK`{IgTJiOv_IdZr6X@dDPvYg08 z*1u+cT7NI`9X!&D5}*Vq0ZM=ppaduZN`Mle1So<3B7yUz<&~r)#m@6DZG6&KmBC2q zXrr!ds=cn6(`kS51qjaMk}hGl0>ix3rSn+KQd0uSx654y^xD zc4jV?ob|nq+-&6Md~_w1$wa@X1n46N&#}xu-kNKea<#2oAiDz*QR}SQHI*Ger|D`( z)`x6M8E&s?vSDaF-DGP`S-->cn{2mdvR$j)X05KeXDQpO4OKVHuH1om$@+AdAW56s zt8IB<^N!Lb0RlB)d$p?SX0t92=k7W9S}1In4y7V=G*w-xhXxY5*GFhQLnV22z11*f z(=u37?G8b7dv%8Ca!gs;+|0lAc1q4fBepxnr;`^B{HhtkfI zCE#AW`AvlRfic#9U;lFbZsM23N#f?(_iM_{-=KqDlmI0_2~Yx*03|>PPy&ZO=l%gupYDvqS_l2d;O;8 zdOixg4mv%-j>CbB2r^}%;S)z(VLs^+xIFODlYs3Y8`kGumzgc(u|^gGOj21X70)SF ztyECDO66foKSQp5JUQgW`7+9CfSfat&vPZRgvuiKQ$!tmJa#avph@s?72IcT#j?5V zy-YkeX!Uu)+N%}!8V}LIA@p5C2-+rsl;_Hec^LsdLH;=lnuA;yvTYg%S(9rY zZjgCH8f8d))3r{kC|Gh`?6-991i5YOxj>Nz&LuMS!VZQ%t=%)?m|)=w{}|=o0d{SK zQ)KqQB{xmeZlhV0s>2S~ugb*Hxas+>02wKP_j0L=0|+|IaXjIty8{&dB~52CkCs6u zlZwGIwjj3hLq*_f#!jJQwQa|-AyYA)V1l3Q-m+jl^C9Ok5h44H6aL0$o;|az)?EVU z$#g8cF+CS{Ewv~OtF4mU*oBQ)g$;^*VY+hxzNn#R_9Q?q#A13laQxNbF!Q$xC)pZv zKf?UVe9QdE96=r659TZ8XGUZ0GyBYEZ~UO60+awHKnYL+lmI0_2~Yx*03|>PPy&>| z|9}9ql#7OnbBNfX3fqX-p?cV3VuuP>8nHu_rYf;R)gXb`p#skB>G!Y7E?HuS3MCuF T4iz?1#12&;mWdrI8Z7+ Date: Sun, 9 Oct 2022 19:14:29 +0700 Subject: [PATCH 11/22] =?UTF-8?q?=E0=B8=AA=E0=B8=A3=E0=B9=89=E0=B8=B2?= =?UTF-8?q?=E0=B8=87=E0=B9=82=E0=B8=94=E0=B8=A2=E0=B9=83=E0=B8=8A=E0=B9=89?= =?UTF-8?q?=20Colaboratory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dev_mountain_visualization.ipynb | 1439 ++++++++++++++++++++++++++++++ 1 file changed, 1439 insertions(+) create mode 100644 Dev_mountain_visualization.ipynb diff --git a/Dev_mountain_visualization.ipynb b/Dev_mountain_visualization.ipynb new file mode 100644 index 0000000..1046054 --- /dev/null +++ b/Dev_mountain_visualization.ipynb @@ -0,0 +1,1439 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# **Dev Mountain Tech Festival Season 2**\n" + ], + "metadata": { + "id": "fGI0SGI8iKLU" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Befor migration" + ], + "metadata": { + "id": "ZXzAqLkVjhhF" + } + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "id": "j1crNZld6bnW" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import collections\n", + "import plotly.express as px\n", + "from datetime import datetime" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Chart" + ], + "metadata": { + "id": "DUdfWDyaneH_" + } + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "id": "ypPBntDw7KvQ" + }, + "outputs": [], + "source": [ + "data = pd.read_csv(\"/content/data-devclub-1.csv\")\n", + "df = pd.DataFrame(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 468 + }, + "id": "dV1zXU1G7Xo8", + "outputId": "ef9469e1-3f9e-4f1e-8172-e9d75244cef3" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + " EMPID PASSPORT FIRSTNAME LASTNAME GENDER BIRTHDAY \\\n", + "0 1 OQI75XIE4UX Christopher Kennedy 1 05-02-1978 \n", + "1 2 CDC87ETW8EQ Burton Gallegos 0 22-09-1960 \n", + "2 3 JUI65YBK7AF Jada Bender 0 28-05-1963 \n", + "3 4 CYB72WYU6UR Winter Blair 0 14-02-1993 \n", + "4 5 AZE20CSG4MU Lillian Reese 0 03-12-1982 \n", + ".. ... ... ... ... ... ... \n", + "95 96 LJB26BQM6PS Laith Whitfield 0 14-01-1987 \n", + "96 97 SUF73DKV4QE Dante Hart 0 21-12-1999 \n", + "97 98 DOB31QXV4GZ Moana Walsh 1 03-05-1995 \n", + "98 99 OUB92IKA7AU Jonah Solomon 1 25-05-1985 \n", + "99 100 WIN16ELU8GN Orlando Mayer 0 11-01-1961 \n", + "\n", + " NATIONALITY HIRED DEPT POSITION STATUS \\\n", + "0 South Korea 20-02-2005 Flight Planning Steward 2 \n", + "1 Germany 29-10-2021 Aircraft Maintenance Pilot 1 \n", + "2 Pakistan 11-02-2001 Pilot Pilot 1 \n", + "3 Austria 24-03-2022 Pilot Steward 4 \n", + "4 Ukraine 19-05-2002 Flight Planning Steward 1 \n", + ".. ... ... ... ... ... \n", + "95 Russian Federation 09-02-2001 Pilot Airhostess 0 \n", + "96 Peru 22-02-2016 Pilot Pilot 1 \n", + "97 Brazil 21-04-2002 Pilot Airhostess 3 \n", + "98 Pakistan 30-04-2023 Flight Attendance Pilot 3 \n", + "99 Austria 07-04-2003 Pilot Pilot 0 \n", + "\n", + " REGION \n", + "0 Europe \n", + "1 APAC \n", + "2 Canada \n", + "3 Ocenia \n", + "4 Canada \n", + ".. ... \n", + "95 APAC \n", + "96 Europe \n", + "97 Ocenia \n", + "98 Europe \n", + "99 APAC \n", + "\n", + "[100 rows x 12 columns]" + ], + "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", + " \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", + "
EMPIDPASSPORTFIRSTNAMELASTNAMEGENDERBIRTHDAYNATIONALITYHIREDDEPTPOSITIONSTATUSREGION
01OQI75XIE4UXChristopherKennedy105-02-1978South Korea20-02-2005Flight PlanningSteward2Europe
12CDC87ETW8EQBurtonGallegos022-09-1960Germany29-10-2021Aircraft MaintenancePilot1APAC
23JUI65YBK7AFJadaBender028-05-1963Pakistan11-02-2001PilotPilot1Canada
34CYB72WYU6URWinterBlair014-02-1993Austria24-03-2022PilotSteward4Ocenia
45AZE20CSG4MULillianReese003-12-1982Ukraine19-05-2002Flight PlanningSteward1Canada
.......................................
9596LJB26BQM6PSLaithWhitfield014-01-1987Russian Federation09-02-2001PilotAirhostess0APAC
9697SUF73DKV4QEDanteHart021-12-1999Peru22-02-2016PilotPilot1Europe
9798DOB31QXV4GZMoanaWalsh103-05-1995Brazil21-04-2002PilotAirhostess3Ocenia
9899OUB92IKA7AUJonahSolomon125-05-1985Pakistan30-04-2023Flight AttendancePilot3Europe
99100WIN16ELU8GNOrlandoMayer011-01-1961Austria07-04-2003PilotPilot0APAC
\n", + "

100 rows × 12 columns

\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {} + } + ], + "source": [ + "display(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 261 + }, + "id": "WyIMOVPqJN8r", + "outputId": "54807861-e373-49ec-9b4f-75bdf597dcac" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "plt.rcParams[\"figure.figsize\"] = [3.50, 3.50]\n", + "plt.rcParams[\"figure.autolayout\"] = True\n", + "\n", + "n, bins, patches = plt.hist(df['POSITION'], bins=3, edgecolor='black')\n", + "ticks = [(patch._x0 + patch._x1)/2 for patch in patches]\n", + "plt.xticks(ticks)\n", + "plt.title(\"Position\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 263 + }, + "id": "h8bn13soHBsp", + "outputId": "99c8fba7-1161-4218-a251-5684b42be7e6" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "OrderedDict([(0, 52), (1, 48)])\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "count = collections.Counter(df['GENDER'])\n", + "count = collections.OrderedDict(sorted(count.items()))\n", + "Value = count.values()\n", + "print(count)\n", + "Key = [\"Female\",\"Male\"]\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.pie(Value,labels = Key, autopct='%.2f%%', startangle=90)\n", + "plt.title(\"Gender\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 198 + }, + "id": "4gjlxN3_27v6", + "outputId": "2a4b2ada-bcf3-425d-ddbb-04367c2aab4f" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Counter({'Aircraft Maintenance': 34, 'Flight Planning': 24, 'Flight Attendance': 22, 'Pilot': 20})\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "count_dept = collections.Counter(df['DEPT'])\n", + "Value_dept = count_dept.values()\n", + "Key_dept = count_dept.keys();\n", + "print(count_dept)\n", + "\n", + "fig1, ax1 = plt.subplots()\n", + "ax1.pie(Value_dept,labels = Key_dept, autopct='%.2f%%', startangle=90)\n", + "plt.title(\"Department\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 191 + }, + "id": "8m3YYxQJ41L4", + "outputId": "88f8f038-9e5a-49a0-92b5-85db121f587a" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "dict_values([30, 13, 19, 38])\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "count_status = collections.Counter(df['STATUS'])\n", + "count_status = collections.OrderedDict(sorted(count_status.items()))\n", + "dict_status = {'0': count_status[0], '1': count_status[1], '2': count_status[2], '3': count_status[3]+count_status[4]}\n", + "Value_status = dict_status.values()\n", + "\n", + "Key_status = [\"Active\",\"Resigned\",\"Retired\",\"Anomaly Information\"]\n", + "print(Value_status)\n", + "explode = (0, 0,0,0.1)\n", + "\n", + "fig2, ax2 = plt.subplots()\n", + "ax2.pie(Value_status,explode=explode,labels = Key_status, autopct='%.2f%%', startangle=90)\n", + "plt.title(\"Status\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 278 + }, + "id": "dKO21KiiZIu2", + "outputId": "69c5dc4b-a76d-4d4c-9a30-092b27d36bf8" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[]" + ] + }, + "metadata": {}, + "execution_count": 48 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "df_year = pd.DatetimeIndex(df['HIRED']).year\n", + "dict_year = collections.Counter(df_year)\n", + "dict_year = collections.OrderedDict(sorted(dict_year.items()))\n", + "Value_year = list(dict_year.values())\n", + "Keys_year = list(dict_year.keys())\n", + "\n", + "plt.title(\"The hiring rate for every years\")\n", + "plt.xlabel('Year')\n", + "plt.ylabel('Frequency')\n", + "plt.grid(color='silver', linestyle=':', linewidth=1)\n", + "plt.plot(Keys_year, Value_year)" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 278 + }, + "id": "sclqyTvMpSXh", + "outputId": "8d495099-9cc8-4505-fb5f-f4674f46f4a4" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[]" + ] + }, + "metadata": {}, + "execution_count": 49 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "bd = pd.DatetimeIndex(df['BIRTHDAY']).year\n", + "dict_bd = collections.Counter(bd)\n", + "dict_bd = collections.OrderedDict(sorted(dict_bd.items()))\n", + "Value_bd = np.array(list(dict_bd.values()))\n", + "Keys_bd = np.array(list(dict_bd.keys()))\n", + "Keys_bd =[2022-x for x in Keys_bd]\n", + "\n", + "plt.xlim([22, 62])\n", + "plt.title(\"Age of employee\")\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Frequency')\n", + "plt.grid(color='silver', linestyle=':', linewidth=1)\n", + "plt.plot(Keys_bd, Value_bd)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Map" + ], + "metadata": { + "id": "OvRUS5AtnQ0c" + } + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "L94m2DNNuKfM", + "outputId": "fa63ca88-d007-44ab-cf51-cb1d568e7b4e" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " country count\n", + "0 South Korea 2\n", + "1 Germany 4\n", + "2 Pakistan 4\n", + "3 Austria 5\n", + "4 Ukraine 2\n", + "5 Norway 2\n", + "6 Mexico 5\n", + "7 United States 4\n", + "8 Sweden 5\n", + "9 Philippines 5\n", + "10 Vietnam 6\n", + "11 Netherlands 4\n", + "12 Costa Rica 5\n", + "13 India 3\n", + "14 Colombia 2\n", + "15 South Africa 3\n", + "16 Russian Federation 3\n", + "17 United Kingdom 3\n", + "18 China 2\n", + "19 Indonesia 3\n", + "20 Italy 4\n", + "21 Peru 6\n", + "22 Ireland 2\n", + "23 Turkey 3\n", + "24 Brazil 3\n", + "25 Spain 1\n", + "26 Australia 2\n", + "27 Singapore 3\n", + "28 Belgium 1\n", + "29 New Zealand 1\n", + "30 Nigeria 1\n", + "31 France 1\n" + ] + } + ], + "source": [ + "dict_na = pd.DataFrame(collections.Counter(df['NATIONALITY']), index=[0])\n", + "\n", + "data = pd.DataFrame(dict_na).T.reset_index()\n", + "data.columns=['country', 'count']\n", + "\n", + "print(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 542 + }, + "id": "P-lUFc_IzPYI", + "outputId": "f170b95e-c12b-4e0e-b675-299d90364cda" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "" + ] + }, + "metadata": {} + } + ], + "source": [ + "database = px.data.gapminder().query('year == 2007')\n", + "\n", + "df_na = pd.merge(database, data, how='inner', on='country')\n", + "\n", + "\n", + "fig = px.choropleth(df_na,\n", + " locations=\"country\",\n", + " locationmode=\"country names\",\n", + " color=\"count\",\n", + " color_continuous_scale=px.colors.sequential.Purp,\n", + " projection=\"natural earth\"\n", + ")\n", + "\n", + "fig.update_layout(\n", + " title_text = 'Employee Nationality',\n", + " geo=dict(\n", + " showcoastlines=False,\n", + " )\n", + ")\n", + "\n", + "fig.show()" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## After migration" + ], + "metadata": { + "id": "jlFu8Rf2muF-" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Chart" + ], + "metadata": { + "id": "56bjc31Qnljd" + } + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "id": "MEEYzmSb1u9B" + }, + "outputs": [], + "source": [ + "data_result = pd.read_csv(\"/content/data-devclub-1_result.csv\")\n", + "df_result = pd.DataFrame(data_result)" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": { + "id": "IazK_5dj2URC", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 426 + }, + "outputId": "d84d4f0c-ccdb-4af2-f653-b46011c039da" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + " EMPID PASSPORT FIRSTNAME LASTNAME GENDER BIRTHDAY NATIONALITY \\\n", + "0 3 JUI65YBK7AF Jada Bender 0 28-05-1963 Pakistan \n", + "1 5 AZE20CSG4MU Lillian Reese 0 03-12-1982 Ukraine \n", + "2 23 NFH65BYM0VB Armand Horn 0 24-05-1987 Netherlands \n", + "3 29 CMK62UAD3VK Rowan Leonard 1 15-07-1974 Germany \n", + "4 33 EWD45RJW5YK Carter Velasquez 0 23-11-1967 Indonesia \n", + "5 34 BFS82MEY3CX Selma Bush 0 26-03-1972 Italy \n", + "6 50 MRC33GHJ2KW Calvin Roach 1 16-04-1999 Mexico \n", + "7 66 WKV12UQC6QF Zachery Valentine 0 04-06-1971 Philippines \n", + "8 80 EUC74ENE9ZK Ryan Rush 0 13-06-1998 Italy \n", + "9 93 UXL43IOW6OV Honorato Maxwell 1 09-03-1982 France \n", + "10 95 OUP31WOE2IE Dara Wilcox 1 29-06-1996 Singapore \n", + "11 97 SUF73DKV4QE Dante Hart 0 21-12-1999 Peru \n", + "\n", + " HIRED DEPT POSITION STATUS REGION \n", + "0 11-02-2001 Pilot Pilot 1 Canada \n", + "1 19-05-2002 Flight Planning Steward 1 Canada \n", + "2 19-06-2007 Aircraft Maintenance Airhostess 1 Ocenia \n", + "3 27-03-2004 Aircraft Maintenance Pilot 1 Ocenia \n", + "4 27-02-2005 Flight Planning Pilot 1 APAC \n", + "5 10-10-2008 Flight Attendance Airhostess 1 USA \n", + "6 18-03-2011 Flight Attendance Steward 1 Europe \n", + "7 25-08-2011 Flight Attendance Steward 1 Middle East \n", + "8 31-07-2019 Aircraft Maintenance Pilot 1 Middle East \n", + "9 04-02-2017 Aircraft Maintenance Airhostess 1 Europe \n", + "10 18-05-2011 Flight Attendance Airhostess 1 Canada \n", + "11 22-02-2016 Pilot Pilot 1 Europe " + ], + "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", + " \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", + "
EMPIDPASSPORTFIRSTNAMELASTNAMEGENDERBIRTHDAYNATIONALITYHIREDDEPTPOSITIONSTATUSREGION
03JUI65YBK7AFJadaBender028-05-1963Pakistan11-02-2001PilotPilot1Canada
15AZE20CSG4MULillianReese003-12-1982Ukraine19-05-2002Flight PlanningSteward1Canada
223NFH65BYM0VBArmandHorn024-05-1987Netherlands19-06-2007Aircraft MaintenanceAirhostess1Ocenia
329CMK62UAD3VKRowanLeonard115-07-1974Germany27-03-2004Aircraft MaintenancePilot1Ocenia
433EWD45RJW5YKCarterVelasquez023-11-1967Indonesia27-02-2005Flight PlanningPilot1APAC
534BFS82MEY3CXSelmaBush026-03-1972Italy10-10-2008Flight AttendanceAirhostess1USA
650MRC33GHJ2KWCalvinRoach116-04-1999Mexico18-03-2011Flight AttendanceSteward1Europe
766WKV12UQC6QFZacheryValentine004-06-1971Philippines25-08-2011Flight AttendanceSteward1Middle East
880EUC74ENE9ZKRyanRush013-06-1998Italy31-07-2019Aircraft MaintenancePilot1Middle East
993UXL43IOW6OVHonoratoMaxwell109-03-1982France04-02-2017Aircraft MaintenanceAirhostess1Europe
1095OUP31WOE2IEDaraWilcox129-06-1996Singapore18-05-2011Flight AttendanceAirhostess1Canada
1197SUF73DKV4QEDanteHart021-12-1999Peru22-02-2016PilotPilot1Europe
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {} + } + ], + "source": [ + "display(df_result)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "id": "IxEwec_r3KE7" + }, + "outputs": [], + "source": [ + "data = pd.read_csv(\"/content/data-devclub-1.csv\")\n", + "df = pd.DataFrame(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "id": "44QO0nnw2nSI", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 261 + }, + "outputId": "64e8ab76-a2e2-41b3-a4da-07494e0a0c69" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "x = [len(df_result),len(df)]\n", + "y = [\"Remaining\",\"Out\"]\n", + "\n", + "fig, ax = plt.subplots()\n", + "explode = (0, 0.1)\n", + "ax.pie(x,labels = y,explode=explode, autopct='%.2f%%', startangle=90)\n", + "\n", + "plt.title(\"Transfer\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "source": [ + "count = collections.Counter(df_result['GENDER'])\n", + "count = collections.OrderedDict(sorted(count.items()))\n", + "\n", + "Value = count.values()\n", + "\n", + "print(count)\n", + "Key = [\"Male\",\"Female\"]\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.pie(Value,labels = Key, autopct='%.2f%%', startangle=90)\n", + "plt.title(\"Gender\")\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 278 + }, + "id": "FKWGKQa-jqcx", + "outputId": "d6e657be-ae1a-4228-89ec-ec68fbc3bee3" + }, + "execution_count": 56, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "OrderedDict([(0, 8), (1, 4)])\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Map" + ], + "metadata": { + "id": "Rk_C4oWonXlO" + } + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "id": "gglCO2Rl5llG", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "fb05e00e-da26-42b4-ba29-119ef588e4eb" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " country count\n", + "0 Pakistan 1\n", + "1 Ukraine 1\n", + "2 Netherlands 1\n", + "3 Germany 1\n", + "4 Indonesia 1\n", + "5 Italy 2\n", + "6 Mexico 1\n", + "7 Philippines 1\n", + "8 France 1\n", + "9 Singapore 1\n", + "10 Peru 1\n" + ] + } + ], + "source": [ + "dict_na_result = pd.DataFrame(collections.Counter(df_result['NATIONALITY']), index=[0])\n", + "\n", + "data_result = pd.DataFrame(dict_na_result).T.reset_index()\n", + "data_result.columns=['country', 'count']\n", + "\n", + "print(data_result)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "id": "6NSU1R0t563t", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 542 + }, + "outputId": "950176f8-0ce3-4307-ad86-2f8891913fc8" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "" + ] + }, + "metadata": {} + } + ], + "source": [ + "database = px.data.gapminder().query('year == 2007')\n", + "\n", + "df_na_result = pd.merge(database, data_result, how='inner', on='country')\n", + "\n", + "\n", + "fig = px.choropleth(df_na_result,\n", + " locations=\"country\",\n", + " locationmode=\"country names\",\n", + " color=\"count\",\n", + " color_continuous_scale=px.colors.sequential.Purp,\n", + " projection=\"natural earth\"\n", + ")\n", + "\n", + "fig.update_layout(\n", + " title_text = 'Remaining Employee Nationality',\n", + " geo=dict( showcoastlines=False )\n", + ")\n", + "\n", + "fig.show()" + ] + } + ], + "metadata": { + "colab": { + "provenance": [], + "collapsed_sections": [], + "authorship_tag": "ABX9TyOcC/KZ8mTuDNmIyKkei3d6", + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file From d62f73f13185675d5fde7b5d3d5c8fee19d02946 Mon Sep 17 00:00:00 2001 From: Jiruschai Anuntabundit <64542489+JirusAnun@users.noreply.github.com> Date: Sun, 9 Oct 2022 19:19:26 +0700 Subject: [PATCH 12/22] =?UTF-8?q?=E0=B8=AA=E0=B8=A3=E0=B9=89=E0=B8=B2?= =?UTF-8?q?=E0=B8=87=E0=B9=82=E0=B8=94=E0=B8=A2=E0=B9=83=E0=B8=8A=E0=B9=89?= =?UTF-8?q?=20Colaboratory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dev_mountain_visualization.ipynb | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Dev_mountain_visualization.ipynb b/Dev_mountain_visualization.ipynb index 1046054..d7978bb 100644 --- a/Dev_mountain_visualization.ipynb +++ b/Dev_mountain_visualization.ipynb @@ -689,6 +689,15 @@ "id": "OvRUS5AtnQ0c" } }, + { + "cell_type": "markdown", + "source": [ + "Please use colab to see map" + ], + "metadata": { + "id": "S2CFE08mri7Q" + } + }, { "cell_type": "code", "execution_count": 50, @@ -1305,6 +1314,15 @@ "id": "Rk_C4oWonXlO" } }, + { + "cell_type": "markdown", + "source": [ + "Please use colab to see map" + ], + "metadata": { + "id": "os5OCEUprSBD" + } + }, { "cell_type": "code", "execution_count": 57, @@ -1423,7 +1441,7 @@ "colab": { "provenance": [], "collapsed_sections": [], - "authorship_tag": "ABX9TyOcC/KZ8mTuDNmIyKkei3d6", + "authorship_tag": "ABX9TyNexneg2qi0OYm69AcPL3C9", "include_colab_link": true }, "kernelspec": { From 81446e19fff1d40e78e4130a2bfff54e4f7f0541 Mon Sep 17 00:00:00 2001 From: Natworpong Loyswai <28857628+rsxss@users.noreply.github.com> Date: Sun, 9 Oct 2022 19:31:51 +0700 Subject: [PATCH 13/22] Perf use bitwise incremental --- csv2sqlite.py | 2 +- data-devclub-1-Australia.csv | 3 - data-devclub-1-Austria.csv | 6 -- data-devclub-1-Belgium.csv | 2 - data-devclub-1-Brazil.csv | 4 -- data-devclub-1-China.csv | 3 - data-devclub-1-Colombia.csv | 3 - data-devclub-1-Costa Rica.csv | 6 -- data-devclub-1-France.csv | 2 - data-devclub-1-Germany.csv | 2 - data-devclub-1-India.csv | 4 -- data-devclub-1-Indonesia.csv | 2 - data-devclub-1-Ireland.csv | 3 - data-devclub-1-Italy.csv | 3 - data-devclub-1-Mexico.csv | 2 - data-devclub-1-Netherlands.csv | 2 - data-devclub-1-New Zealand.csv | 2 - data-devclub-1-Nigeria.csv | 2 - data-devclub-1-Norway.csv | 3 - data-devclub-1-Pakistan.csv | 2 - data-devclub-1-Peru.csv | 2 - data-devclub-1-Philippines.csv | 2 - data-devclub-1-Russian Federation.csv | 4 -- data-devclub-1-Singapore.csv | 2 - data-devclub-1-South Africa.csv | 4 -- data-devclub-1-South Korea.csv | 3 - data-devclub-1-Spain.csv | 2 - data-devclub-1-Sweden.csv | 6 -- data-devclub-1-Turkey.csv | 4 -- data-devclub-1-Ukraine.csv | 2 - data-devclub-1-United Kingdom.csv | 4 -- data-devclub-1-United States.csv | 5 -- data-devclub-1-Vietnam.csv | 7 -- data-devclub-1.csv | 13 ---- data-devclub-1.db | Bin 12288 -> 0 bytes data-devclub-1.json | 92 -------------------------- xml2csv.py | 3 +- 37 files changed, 2 insertions(+), 211 deletions(-) delete mode 100644 data-devclub-1-Australia.csv delete mode 100644 data-devclub-1-Austria.csv delete mode 100644 data-devclub-1-Belgium.csv delete mode 100644 data-devclub-1-Brazil.csv delete mode 100644 data-devclub-1-China.csv delete mode 100644 data-devclub-1-Colombia.csv delete mode 100644 data-devclub-1-Costa Rica.csv delete mode 100644 data-devclub-1-France.csv delete mode 100644 data-devclub-1-Germany.csv delete mode 100644 data-devclub-1-India.csv delete mode 100644 data-devclub-1-Indonesia.csv delete mode 100644 data-devclub-1-Ireland.csv delete mode 100644 data-devclub-1-Italy.csv delete mode 100644 data-devclub-1-Mexico.csv delete mode 100644 data-devclub-1-Netherlands.csv delete mode 100644 data-devclub-1-New Zealand.csv delete mode 100644 data-devclub-1-Nigeria.csv delete mode 100644 data-devclub-1-Norway.csv delete mode 100644 data-devclub-1-Pakistan.csv delete mode 100644 data-devclub-1-Peru.csv delete mode 100644 data-devclub-1-Philippines.csv delete mode 100644 data-devclub-1-Russian Federation.csv delete mode 100644 data-devclub-1-Singapore.csv delete mode 100644 data-devclub-1-South Africa.csv delete mode 100644 data-devclub-1-South Korea.csv delete mode 100644 data-devclub-1-Spain.csv delete mode 100644 data-devclub-1-Sweden.csv delete mode 100644 data-devclub-1-Turkey.csv delete mode 100644 data-devclub-1-Ukraine.csv delete mode 100644 data-devclub-1-United Kingdom.csv delete mode 100644 data-devclub-1-United States.csv delete mode 100644 data-devclub-1-Vietnam.csv delete mode 100644 data-devclub-1.csv delete mode 100644 data-devclub-1.db delete mode 100644 data-devclub-1.json diff --git a/csv2sqlite.py b/csv2sqlite.py index 7c63dea..9650468 100644 --- a/csv2sqlite.py +++ b/csv2sqlite.py @@ -85,7 +85,7 @@ def main(): ) parser.add_argument( "--table-name", - default="DEVCLUB", + default="TBL_DEVCLUB", help="Specify the name of a table" ) parser.add_argument( diff --git a/data-devclub-1-Australia.csv b/data-devclub-1-Australia.csv deleted file mode 100644 index c7c1bd7..0000000 --- a/data-devclub-1-Australia.csv +++ /dev/null @@ -1,3 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -61,KGM73NWG1JP,Desirae,Melton,1,07-11-1993,Australia,12-04-2013,Aircraft Maintenance,Airhostess,0,Europe -76,YWT45VVP7KK,Nathan,Floyd,0,04-01-1988,Australia,09-10-2008,Flight Planning,Steward,3,USA diff --git a/data-devclub-1-Austria.csv b/data-devclub-1-Austria.csv deleted file mode 100644 index 7edd624..0000000 --- a/data-devclub-1-Austria.csv +++ /dev/null @@ -1,6 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -4,CYB72WYU6UR,Winter,Blair,0,14-02-1993,Austria,24-03-2022,Pilot,Steward,4,Ocenia -40,JHJ72ODJ7RA,Gregory,Bryant,0,14-09-1968,Austria,10-01-2017,Flight Planning,Pilot,0,Middle East -47,CQW50GAD3DS,Martin,Payne,1,12-05-1961,Austria,07-10-2015,Pilot,Pilot,4,Ocenia -48,MKI89CUF6PR,Fuller,Alvarez,0,06-01-1988,Austria,30-12-2016,Flight Attendance,Pilot,4,APAC -100,WIN16ELU8GN,Orlando,Mayer,0,11-01-1961,Austria,07-04-2003,Pilot,Pilot,0,APAC diff --git a/data-devclub-1-Belgium.csv b/data-devclub-1-Belgium.csv deleted file mode 100644 index 4af7eab..0000000 --- a/data-devclub-1-Belgium.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -72,AUY27DLM5FK,Leilani,Moran,0,25-08-1996,Belgium,08-04-2005,Aircraft Maintenance,Airhostess,2,Ocenia diff --git a/data-devclub-1-Brazil.csv b/data-devclub-1-Brazil.csv deleted file mode 100644 index a216ca2..0000000 --- a/data-devclub-1-Brazil.csv +++ /dev/null @@ -1,4 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -55,JJG71FLY1XR,Paula,Delaney,0,18-09-1986,Brazil,29-01-2003,Aircraft Maintenance,Steward,2,Middle East -68,GDJ74WSM7LG,Autumn,Page,0,01-11-1969,Brazil,24-04-2001,Aircraft Maintenance,Airhostess,3,Middle East -98,DOB31QXV4GZ,Moana,Walsh,1,03-05-1995,Brazil,21-04-2002,Pilot,Airhostess,3,Ocenia diff --git a/data-devclub-1-China.csv b/data-devclub-1-China.csv deleted file mode 100644 index d2153be..0000000 --- a/data-devclub-1-China.csv +++ /dev/null @@ -1,3 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -31,JBK92QBQ9CF,Kyra,Noel,1,25-08-1972,China,27-11-2005,Flight Attendance,Airhostess,3,Canada -59,VDF94IVV1UX,Nomlanga,Stout,0,03-04-1975,China,06-08-2009,Flight Planning,Airhostess,0,Canada diff --git a/data-devclub-1-Colombia.csv b/data-devclub-1-Colombia.csv deleted file mode 100644 index edc7c09..0000000 --- a/data-devclub-1-Colombia.csv +++ /dev/null @@ -1,3 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -22,SOM23XJR5NC,Igor,Ochoa,1,11-10-1972,Colombia,02-11-2005,Flight Planning,Airhostess,4,APAC -49,PRX53TYM5LT,Macon,Trevino,1,01-10-1997,Colombia,17-12-2019,Flight Planning,Steward,0,Ocenia diff --git a/data-devclub-1-Costa Rica.csv b/data-devclub-1-Costa Rica.csv deleted file mode 100644 index 443f430..0000000 --- a/data-devclub-1-Costa Rica.csv +++ /dev/null @@ -1,6 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -15,MOJ66TSD0LH,Jade,Simmons,1,04-03-1961,Costa Rica,24-12-2000,Aircraft Maintenance,Steward,0,Canada -19,SYT22ZIA2ZU,Thaddeus,Martinez,1,02-04-1975,Costa Rica,11-07-2015,Flight Attendance,Steward,0,Middle East -42,QSP69GYO0YK,Rajah,Roach,0,13-12-1992,Costa Rica,26-05-2011,Flight Attendance,Pilot,0,Europe -44,VTF75CUM7PC,Rhea,Keith,0,28-06-2000,Costa Rica,30-10-2010,Flight Attendance,Airhostess,4,Canada -62,LYL50VBA1GL,Armando,Moody,1,24-04-1989,Costa Rica,15-04-2020,Flight Planning,Steward,3,USA diff --git a/data-devclub-1-France.csv b/data-devclub-1-France.csv deleted file mode 100644 index bb24c19..0000000 --- a/data-devclub-1-France.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -93,UXL43IOW6OV,Honorato,Maxwell,1,09-03-1982,France,04-02-2017,Aircraft Maintenance,Airhostess,1,Europe diff --git a/data-devclub-1-Germany.csv b/data-devclub-1-Germany.csv deleted file mode 100644 index be0788f..0000000 --- a/data-devclub-1-Germany.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -29,CMK62UAD3VK,Rowan,Leonard,1,15-07-1974,Germany,27-03-2004,Aircraft Maintenance,Pilot,1,Ocenia diff --git a/data-devclub-1-India.csv b/data-devclub-1-India.csv deleted file mode 100644 index 6a643a8..0000000 --- a/data-devclub-1-India.csv +++ /dev/null @@ -1,4 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -20,JDS74VWV5XG,Lester,Edwards,1,11-10-1973,India,03-09-2000,Flight Planning,Airhostess,0,Canada -21,SMN51EPH5FE,Aline,Riley,0,04-06-1989,India,05-04-2001,Flight Attendance,Pilot,3,APAC -88,TRJ51LBJ6II,Shaeleigh,Roth,1,04-02-1986,India,15-03-2004,Aircraft Maintenance,Steward,4,Europe diff --git a/data-devclub-1-Indonesia.csv b/data-devclub-1-Indonesia.csv deleted file mode 100644 index ab4b28f..0000000 --- a/data-devclub-1-Indonesia.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -33,EWD45RJW5YK,Carter,Velasquez,0,23-11-1967,Indonesia,27-02-2005,Flight Planning,Pilot,1,APAC diff --git a/data-devclub-1-Ireland.csv b/data-devclub-1-Ireland.csv deleted file mode 100644 index be1d03f..0000000 --- a/data-devclub-1-Ireland.csv +++ /dev/null @@ -1,3 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -37,GWY17TOL2UG,Matthew,Vasquez,1,17-03-1995,Ireland,01-07-2007,Flight Planning,Steward,4,Ocenia -67,BVY21SKG6CE,Kitra,Green,0,10-07-1967,Ireland,12-09-2006,Flight Planning,Airhostess,0,Middle East diff --git a/data-devclub-1-Italy.csv b/data-devclub-1-Italy.csv deleted file mode 100644 index ebd7278..0000000 --- a/data-devclub-1-Italy.csv +++ /dev/null @@ -1,3 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -34,BFS82MEY3CX,Selma,Bush,0,26-03-1972,Italy,10-10-2008,Flight Attendance,Airhostess,1,USA -80,EUC74ENE9ZK,Ryan,Rush,0,13-06-1998,Italy,31-07-2019,Aircraft Maintenance,Pilot,1,Middle East diff --git a/data-devclub-1-Mexico.csv b/data-devclub-1-Mexico.csv deleted file mode 100644 index 63a47af..0000000 --- a/data-devclub-1-Mexico.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -50,MRC33GHJ2KW,Calvin,Roach,1,16-04-1999,Mexico,18-03-2011,Flight Attendance,Steward,1,Europe diff --git a/data-devclub-1-Netherlands.csv b/data-devclub-1-Netherlands.csv deleted file mode 100644 index 6f0bbcd..0000000 --- a/data-devclub-1-Netherlands.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -23,NFH65BYM0VB,Armand,Horn,0,24-05-1987,Netherlands,19-06-2007,Aircraft Maintenance,Airhostess,1,Ocenia diff --git a/data-devclub-1-New Zealand.csv b/data-devclub-1-New Zealand.csv deleted file mode 100644 index 655194e..0000000 --- a/data-devclub-1-New Zealand.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -83,LJK19GHE1TM,Dalton,Roberson,0,02-05-1994,New Zealand,21-06-2012,Aircraft Maintenance,Airhostess,0,Europe diff --git a/data-devclub-1-Nigeria.csv b/data-devclub-1-Nigeria.csv deleted file mode 100644 index 368d3f5..0000000 --- a/data-devclub-1-Nigeria.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -85,MUE55VMY6MX,Solomon,Booker,0,28-03-1961,Nigeria,18-09-2007,Aircraft Maintenance,Steward,3,APAC diff --git a/data-devclub-1-Norway.csv b/data-devclub-1-Norway.csv deleted file mode 100644 index 5554cf5..0000000 --- a/data-devclub-1-Norway.csv +++ /dev/null @@ -1,3 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -6,KXU40SKR1YO,Simone,Mosley,0,20-11-1994,Norway,10-03-2023,Flight Planning,Steward,2,Canada -90,MCJ12FYX5KN,Maxine,Branch,1,29-05-1979,Norway,17-10-2018,Pilot,Steward,0,Europe diff --git a/data-devclub-1-Pakistan.csv b/data-devclub-1-Pakistan.csv deleted file mode 100644 index 621bd1f..0000000 --- a/data-devclub-1-Pakistan.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -3,JUI65YBK7AF,Jada,Bender,0,28-05-1963,Pakistan,11-02-2001,Pilot,Pilot,1,Canada diff --git a/data-devclub-1-Peru.csv b/data-devclub-1-Peru.csv deleted file mode 100644 index af44a54..0000000 --- a/data-devclub-1-Peru.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -97,SUF73DKV4QE,Dante,Hart,0,21-12-1999,Peru,22-02-2016,Pilot,Pilot,1,Europe diff --git a/data-devclub-1-Philippines.csv b/data-devclub-1-Philippines.csv deleted file mode 100644 index 5353e4b..0000000 --- a/data-devclub-1-Philippines.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -66,WKV12UQC6QF,Zachery,Valentine,0,04-06-1971,Philippines,25-08-2011,Flight Attendance,Steward,1,Middle East diff --git a/data-devclub-1-Russian Federation.csv b/data-devclub-1-Russian Federation.csv deleted file mode 100644 index 5037976..0000000 --- a/data-devclub-1-Russian Federation.csv +++ /dev/null @@ -1,4 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -26,CCE27MGJ8KI,Chloe,Blanchard,1,29-12-1998,Russian Federation,20-05-2001,Pilot,Steward,2,Middle East -81,DCD61JXD7UO,Brady,Hernandez,1,26-11-1961,Russian Federation,01-09-2022,Pilot,Airhostess,2,Europe -96,LJB26BQM6PS,Laith,Whitfield,0,14-01-1987,Russian Federation,09-02-2001,Pilot,Airhostess,0,APAC diff --git a/data-devclub-1-Singapore.csv b/data-devclub-1-Singapore.csv deleted file mode 100644 index 9e0d5b6..0000000 --- a/data-devclub-1-Singapore.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -95,OUP31WOE2IE,Dara,Wilcox,1,29-06-1996,Singapore,18-05-2011,Flight Attendance,Airhostess,1,Canada diff --git a/data-devclub-1-South Africa.csv b/data-devclub-1-South Africa.csv deleted file mode 100644 index e9483c3..0000000 --- a/data-devclub-1-South Africa.csv +++ /dev/null @@ -1,4 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -24,EQI56KFP6NU,Chaney,Ramsey,1,13-06-1972,South Africa,19-12-2002,Aircraft Maintenance,Steward,2,USA -51,BPO49TXH0XX,Charles,Kim,0,30-12-1968,South Africa,12-09-2015,Flight Planning,Pilot,2,Ocenia -75,KVI04NMS2QH,Shay,Mcdonald,1,29-12-1999,South Africa,07-03-2007,Aircraft Maintenance,Airhostess,4,Ocenia diff --git a/data-devclub-1-South Korea.csv b/data-devclub-1-South Korea.csv deleted file mode 100644 index 29a0fa5..0000000 --- a/data-devclub-1-South Korea.csv +++ /dev/null @@ -1,3 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -1,OQI75XIE4UX,Christopher,Kennedy,1,05-02-1978,South Korea,20-02-2005,Flight Planning,Steward,2,Europe -35,XPI62OGX6QX,Roary,Frank,1,30-12-1979,South Korea,12-11-2008,Flight Attendance,Airhostess,2,Middle East diff --git a/data-devclub-1-Spain.csv b/data-devclub-1-Spain.csv deleted file mode 100644 index 616cc52..0000000 --- a/data-devclub-1-Spain.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -57,GRE66NCT2EF,Aimee,Stone,0,08-09-1990,Spain,25-07-2007,Flight Attendance,Pilot,3,Middle East diff --git a/data-devclub-1-Sweden.csv b/data-devclub-1-Sweden.csv deleted file mode 100644 index 7b8b10a..0000000 --- a/data-devclub-1-Sweden.csv +++ /dev/null @@ -1,6 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -9,WOW94MLI6CM,Prescott,Dudley,0,07-04-1990,Sweden,16-11-2012,Pilot,Steward,2,Canada -12,KGM77GAL2UW,Levi,Atkinson,0,08-10-1969,Sweden,13-09-2002,Aircraft Maintenance,Steward,4,Europe -13,UOM66JXI0ZD,Levi,Myers,0,29-12-1998,Sweden,13-09-2004,Aircraft Maintenance,Steward,0,Europe -16,WRS57BWI1RG,Serina,Tran,1,28-11-1980,Sweden,18-07-2010,Flight Planning,Steward,2,Canada -91,WEA16MFX7OE,Drew,Gordon,0,31-10-1981,Sweden,19-04-2015,Aircraft Maintenance,Steward,2,Ocenia diff --git a/data-devclub-1-Turkey.csv b/data-devclub-1-Turkey.csv deleted file mode 100644 index f8b2492..0000000 --- a/data-devclub-1-Turkey.csv +++ /dev/null @@ -1,4 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -39,DDI37UIV8QD,Trevor,Wyatt,0,14-02-1998,Turkey,15-03-2010,Pilot,Airhostess,2,USA -46,ZGJ51FDM2LC,Reese,Christensen,0,15-09-1993,Turkey,10-08-2011,Aircraft Maintenance,Pilot,3,Ocenia -64,GSW02GPL6OY,Wyoming,Joyner,0,20-11-1991,Turkey,17-04-2022,Flight Attendance,Steward,0,Europe diff --git a/data-devclub-1-Ukraine.csv b/data-devclub-1-Ukraine.csv deleted file mode 100644 index bd5e2e1..0000000 --- a/data-devclub-1-Ukraine.csv +++ /dev/null @@ -1,2 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -5,AZE20CSG4MU,Lillian,Reese,0,03-12-1982,Ukraine,19-05-2002,Flight Planning,Steward,1,Canada diff --git a/data-devclub-1-United Kingdom.csv b/data-devclub-1-United Kingdom.csv deleted file mode 100644 index d43d203..0000000 --- a/data-devclub-1-United Kingdom.csv +++ /dev/null @@ -1,4 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -27,EDF66USR7HP,Anjolie,Dudley,1,27-12-1975,United Kingdom,28-07-2004,Aircraft Maintenance,Steward,0,USA -53,EKI78MBL1DM,Irene,Moon,0,02-10-1973,United Kingdom,21-04-2015,Flight Attendance,Airhostess,2,USA -54,ZCM30CQE2UN,Noelani,Watkins,0,31-08-1969,United Kingdom,18-07-2016,Aircraft Maintenance,Airhostess,4,Europe diff --git a/data-devclub-1-United States.csv b/data-devclub-1-United States.csv deleted file mode 100644 index 7f6f52c..0000000 --- a/data-devclub-1-United States.csv +++ /dev/null @@ -1,5 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -8,UCT91SOT6EN,Josephine,Hansen,1,12-10-1982,United States,24-12-2021,Flight Planning,Pilot,4,Middle East -17,TZU74JZT1GC,Talon,Santiago,1,17-04-1969,United States,02-09-2015,Aircraft Maintenance,Steward,0,Canada -73,XIJ68PKR7QT,Darius,Serrano,0,29-04-1990,United States,03-11-2005,Pilot,Steward,4,Middle East -79,RCQ71JXX4NH,Teagan,Daniel,1,02-09-1983,United States,22-05-2005,Pilot,Steward,0,APAC diff --git a/data-devclub-1-Vietnam.csv b/data-devclub-1-Vietnam.csv deleted file mode 100644 index b8011a6..0000000 --- a/data-devclub-1-Vietnam.csv +++ /dev/null @@ -1,7 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -11,LBI65YUK1BG,Hamilton,Duffy,1,09-11-1987,Vietnam,31-12-2021,Aircraft Maintenance,Steward,4,APAC -38,KMG07QVW7MP,Kylynn,Mullins,0,19-04-1979,Vietnam,07-11-2020,Aircraft Maintenance,Steward,0,Middle East -56,UWS82URG4LM,Keelie,Crosby,0,17-07-1985,Vietnam,01-04-2002,Flight Planning,Steward,0,USA -60,IUE46AKB9OH,Yuri,Evans,1,05-10-1973,Vietnam,18-04-2022,Aircraft Maintenance,Airhostess,0,Ocenia -77,EOP89YXA3YW,Wayne,Bowman,0,02-03-1991,Vietnam,28-03-2007,Aircraft Maintenance,Steward,2,APAC -89,PHE40UOS0GY,Amanda,Schwartz,1,03-04-1983,Vietnam,06-08-2019,Aircraft Maintenance,Steward,4,APAC diff --git a/data-devclub-1.csv b/data-devclub-1.csv deleted file mode 100644 index 6770f52..0000000 --- a/data-devclub-1.csv +++ /dev/null @@ -1,13 +0,0 @@ -EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION -3,JUI65YBK7AF,Jada,Bender,0,28-05-1963,Pakistan,11-02-2001,Pilot,Pilot,1,Canada -5,AZE20CSG4MU,Lillian,Reese,0,03-12-1982,Ukraine,19-05-2002,Flight Planning,Steward,1,Canada -23,NFH65BYM0VB,Armand,Horn,0,24-05-1987,Netherlands,19-06-2007,Aircraft Maintenance,Airhostess,1,Ocenia -29,CMK62UAD3VK,Rowan,Leonard,1,15-07-1974,Germany,27-03-2004,Aircraft Maintenance,Pilot,1,Ocenia -33,EWD45RJW5YK,Carter,Velasquez,0,23-11-1967,Indonesia,27-02-2005,Flight Planning,Pilot,1,APAC -34,BFS82MEY3CX,Selma,Bush,0,26-03-1972,Italy,10-10-2008,Flight Attendance,Airhostess,1,USA -50,MRC33GHJ2KW,Calvin,Roach,1,16-04-1999,Mexico,18-03-2011,Flight Attendance,Steward,1,Europe -66,WKV12UQC6QF,Zachery,Valentine,0,04-06-1971,Philippines,25-08-2011,Flight Attendance,Steward,1,Middle East -80,EUC74ENE9ZK,Ryan,Rush,0,13-06-1998,Italy,31-07-2019,Aircraft Maintenance,Pilot,1,Middle East -93,UXL43IOW6OV,Honorato,Maxwell,1,09-03-1982,France,04-02-2017,Aircraft Maintenance,Airhostess,1,Europe -95,OUP31WOE2IE,Dara,Wilcox,1,29-06-1996,Singapore,18-05-2011,Flight Attendance,Airhostess,1,Canada -97,SUF73DKV4QE,Dante,Hart,0,21-12-1999,Peru,22-02-2016,Pilot,Pilot,1,Europe diff --git a/data-devclub-1.db b/data-devclub-1.db deleted file mode 100644 index 94d785ba34d80dbd176e7381e3812aa2a51a33f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI1&u<$=6vu7S5Ic>tNXW7*E9$!D(2%&@A71~sb#1TXjel+Shh4W6XNafG((P`# z-ZTjk5jpfK`{IgTJiOv_IdZr6X@dDPvYg08 z*1u+cT7NI`9X!&D5}*Vq0ZM=ppaduZN`Mle1So<3B7yUz<&~r)#m@6DZG6&KmBC2q zXrr!ds=cn6(`kS51qjaMk}hGl0>ix3rSn+KQd0uSx654y^xD zc4jV?ob|nq+-&6Md~_w1$wa@X1n46N&#}xu-kNKea<#2oAiDz*QR}SQHI*Ger|D`( z)`x6M8E&s?vSDaF-DGP`S-->cn{2mdvR$j)X05KeXDQpO4OKVHuH1om$@+AdAW56s zt8IB<^N!Lb0RlB)d$p?SX0t92=k7W9S}1In4y7V=G*w-xhXxY5*GFhQLnV22z11*f z(=u37?G8b7dv%8Ca!gs;+|0lAc1q4fBepxnr;`^B{HhtkfI zCE#AW`AvlRfic#9U;lFbZsM23N#f?(_iM_{-=KqDlmI0_2~Yx*03|>PPy&ZO=l%gupYDvqS_l2d;O;8 zdOixg4mv%-j>CbB2r^}%;S)z(VLs^+xIFODlYs3Y8`kGumzgc(u|^gGOj21X70)SF ztyECDO66foKSQp5JUQgW`7+9CfSfat&vPZRgvuiKQ$!tmJa#avph@s?72IcT#j?5V zy-YkeX!Uu)+N%}!8V}LIA@p5C2-+rsl;_Hec^LsdLH;=lnuA;yvTYg%S(9rY zZjgCH8f8d))3r{kC|Gh`?6-991i5YOxj>Nz&LuMS!VZQ%t=%)?m|)=w{}|=o0d{SK zQ)KqQB{xmeZlhV0s>2S~ugb*Hxas+>02wKP_j0L=0|+|IaXjIty8{&dB~52CkCs6u zlZwGIwjj3hLq*_f#!jJQwQa|-AyYA)V1l3Q-m+jl^C9Ok5h44H6aL0$o;|az)?EVU z$#g8cF+CS{Ewv~OtF4mU*oBQ)g$;^*VY+hxzNn#R_9Q?q#A13laQxNbF!Q$xC)pZv zKf?UVe9QdE96=r659TZ8XGUZ0GyBYEZ~UO60+awHKnYL+lmI0_2~Yx*03|>PPy&>| z|9}9ql#7OnbBNfX3fqX-p?cV3VuuP>8nHu_rYf;R)gXb`p#skB>G!Y7E?HuS3MCuF T4iz?1#12&;mWdrI8Z7+ years * 365 + leap_days From 909354ba5a771e5462fba403b2159878b3e32713 Mon Sep 17 00:00:00 2001 From: Natworpong Loyswai <28857628+rsxss@users.noreply.github.com> Date: Sun, 9 Oct 2022 19:31:58 +0700 Subject: [PATCH 14/22] Perf use bitwise incremental --- data-devclub-1-France.csv | 2 + data-devclub-1-Germany.csv | 2 + data-devclub-1-Indonesia.csv | 2 + data-devclub-1-Italy.csv | 3 ++ data-devclub-1-Mexico.csv | 2 + data-devclub-1-Netherlands.csv | 2 + data-devclub-1-Pakistan.csv | 2 + data-devclub-1-Peru.csv | 2 + data-devclub-1-Philippines.csv | 2 + data-devclub-1-Singapore.csv | 2 + data-devclub-1-Ukraine.csv | 2 + data-devclub-1.csv | 13 +++++ data-devclub-1.db | Bin 0 -> 20480 bytes data-devclub-1.json | 92 +++++++++++++++++++++++++++++++++ 14 files changed, 128 insertions(+) create mode 100644 data-devclub-1-France.csv create mode 100644 data-devclub-1-Germany.csv create mode 100644 data-devclub-1-Indonesia.csv create mode 100644 data-devclub-1-Italy.csv create mode 100644 data-devclub-1-Mexico.csv create mode 100644 data-devclub-1-Netherlands.csv create mode 100644 data-devclub-1-Pakistan.csv create mode 100644 data-devclub-1-Peru.csv create mode 100644 data-devclub-1-Philippines.csv create mode 100644 data-devclub-1-Singapore.csv create mode 100644 data-devclub-1-Ukraine.csv create mode 100644 data-devclub-1.csv create mode 100644 data-devclub-1.db create mode 100644 data-devclub-1.json diff --git a/data-devclub-1-France.csv b/data-devclub-1-France.csv new file mode 100644 index 0000000..bb24c19 --- /dev/null +++ b/data-devclub-1-France.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +93,UXL43IOW6OV,Honorato,Maxwell,1,09-03-1982,France,04-02-2017,Aircraft Maintenance,Airhostess,1,Europe diff --git a/data-devclub-1-Germany.csv b/data-devclub-1-Germany.csv new file mode 100644 index 0000000..be0788f --- /dev/null +++ b/data-devclub-1-Germany.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +29,CMK62UAD3VK,Rowan,Leonard,1,15-07-1974,Germany,27-03-2004,Aircraft Maintenance,Pilot,1,Ocenia diff --git a/data-devclub-1-Indonesia.csv b/data-devclub-1-Indonesia.csv new file mode 100644 index 0000000..ab4b28f --- /dev/null +++ b/data-devclub-1-Indonesia.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +33,EWD45RJW5YK,Carter,Velasquez,0,23-11-1967,Indonesia,27-02-2005,Flight Planning,Pilot,1,APAC diff --git a/data-devclub-1-Italy.csv b/data-devclub-1-Italy.csv new file mode 100644 index 0000000..ebd7278 --- /dev/null +++ b/data-devclub-1-Italy.csv @@ -0,0 +1,3 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +34,BFS82MEY3CX,Selma,Bush,0,26-03-1972,Italy,10-10-2008,Flight Attendance,Airhostess,1,USA +80,EUC74ENE9ZK,Ryan,Rush,0,13-06-1998,Italy,31-07-2019,Aircraft Maintenance,Pilot,1,Middle East diff --git a/data-devclub-1-Mexico.csv b/data-devclub-1-Mexico.csv new file mode 100644 index 0000000..63a47af --- /dev/null +++ b/data-devclub-1-Mexico.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +50,MRC33GHJ2KW,Calvin,Roach,1,16-04-1999,Mexico,18-03-2011,Flight Attendance,Steward,1,Europe diff --git a/data-devclub-1-Netherlands.csv b/data-devclub-1-Netherlands.csv new file mode 100644 index 0000000..6f0bbcd --- /dev/null +++ b/data-devclub-1-Netherlands.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +23,NFH65BYM0VB,Armand,Horn,0,24-05-1987,Netherlands,19-06-2007,Aircraft Maintenance,Airhostess,1,Ocenia diff --git a/data-devclub-1-Pakistan.csv b/data-devclub-1-Pakistan.csv new file mode 100644 index 0000000..621bd1f --- /dev/null +++ b/data-devclub-1-Pakistan.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +3,JUI65YBK7AF,Jada,Bender,0,28-05-1963,Pakistan,11-02-2001,Pilot,Pilot,1,Canada diff --git a/data-devclub-1-Peru.csv b/data-devclub-1-Peru.csv new file mode 100644 index 0000000..af44a54 --- /dev/null +++ b/data-devclub-1-Peru.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +97,SUF73DKV4QE,Dante,Hart,0,21-12-1999,Peru,22-02-2016,Pilot,Pilot,1,Europe diff --git a/data-devclub-1-Philippines.csv b/data-devclub-1-Philippines.csv new file mode 100644 index 0000000..5353e4b --- /dev/null +++ b/data-devclub-1-Philippines.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +66,WKV12UQC6QF,Zachery,Valentine,0,04-06-1971,Philippines,25-08-2011,Flight Attendance,Steward,1,Middle East diff --git a/data-devclub-1-Singapore.csv b/data-devclub-1-Singapore.csv new file mode 100644 index 0000000..9e0d5b6 --- /dev/null +++ b/data-devclub-1-Singapore.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +95,OUP31WOE2IE,Dara,Wilcox,1,29-06-1996,Singapore,18-05-2011,Flight Attendance,Airhostess,1,Canada diff --git a/data-devclub-1-Ukraine.csv b/data-devclub-1-Ukraine.csv new file mode 100644 index 0000000..bd5e2e1 --- /dev/null +++ b/data-devclub-1-Ukraine.csv @@ -0,0 +1,2 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +5,AZE20CSG4MU,Lillian,Reese,0,03-12-1982,Ukraine,19-05-2002,Flight Planning,Steward,1,Canada diff --git a/data-devclub-1.csv b/data-devclub-1.csv new file mode 100644 index 0000000..6770f52 --- /dev/null +++ b/data-devclub-1.csv @@ -0,0 +1,13 @@ +EMPID,PASSPORT,FIRSTNAME,LASTNAME,GENDER,BIRTHDAY,NATIONALITY,HIRED,DEPT,POSITION,STATUS,REGION +3,JUI65YBK7AF,Jada,Bender,0,28-05-1963,Pakistan,11-02-2001,Pilot,Pilot,1,Canada +5,AZE20CSG4MU,Lillian,Reese,0,03-12-1982,Ukraine,19-05-2002,Flight Planning,Steward,1,Canada +23,NFH65BYM0VB,Armand,Horn,0,24-05-1987,Netherlands,19-06-2007,Aircraft Maintenance,Airhostess,1,Ocenia +29,CMK62UAD3VK,Rowan,Leonard,1,15-07-1974,Germany,27-03-2004,Aircraft Maintenance,Pilot,1,Ocenia +33,EWD45RJW5YK,Carter,Velasquez,0,23-11-1967,Indonesia,27-02-2005,Flight Planning,Pilot,1,APAC +34,BFS82MEY3CX,Selma,Bush,0,26-03-1972,Italy,10-10-2008,Flight Attendance,Airhostess,1,USA +50,MRC33GHJ2KW,Calvin,Roach,1,16-04-1999,Mexico,18-03-2011,Flight Attendance,Steward,1,Europe +66,WKV12UQC6QF,Zachery,Valentine,0,04-06-1971,Philippines,25-08-2011,Flight Attendance,Steward,1,Middle East +80,EUC74ENE9ZK,Ryan,Rush,0,13-06-1998,Italy,31-07-2019,Aircraft Maintenance,Pilot,1,Middle East +93,UXL43IOW6OV,Honorato,Maxwell,1,09-03-1982,France,04-02-2017,Aircraft Maintenance,Airhostess,1,Europe +95,OUP31WOE2IE,Dara,Wilcox,1,29-06-1996,Singapore,18-05-2011,Flight Attendance,Airhostess,1,Canada +97,SUF73DKV4QE,Dante,Hart,0,21-12-1999,Peru,22-02-2016,Pilot,Pilot,1,Europe diff --git a/data-devclub-1.db b/data-devclub-1.db new file mode 100644 index 0000000000000000000000000000000000000000..568a7a6bf9f1ba1ffb25b11519fcaea4aa9b3c58 GIT binary patch literal 20480 zcmeI2zi-<{6vw4Hj^rOQ3lxGN2u7%=LsDA_Ns0O~6bL0z7Oh`2Ny$;tRK8kF%!VNy zijM691?nJUhb{#=b}f*he?r%89r_0p=$fHp$G(%4m@e!zOMoVLf+g`CkMDc;dG8MJ zJLy|3%QxBkuJ?%eY%cU+C>##mV%bnA6oL0VykEZP^`(~ve1`+q7hOg|H@aWPn7>1j zrRSlQ@0nj$K92nq%Pc)#esR$w*p38{01`j~NB{{S0VIF~kN_p{^wZ0cL?#n{Ci&zG z+cYYzVNLE=TfIu)@={fkB|~NnsnUYa(>~YawyM-vrDMn&vc{^K(w4LV+mr|Ei>jpS zYF9JZYD3bl@%(kR(>2&muhn9E9c8O0uP@dWO*cAHTW0%`Ht8ma;`Q~#mUM3OhTN%v z3aAO|ixovP8Z~J!bI-wJ9m!C-9jT=lgI5m40^DdQnp_KXtjVfzwujo)75ebmR^5<{ zp3WLdX8@w>i<-O<>{Al2Ul${n6G|o=vYe55G=6NuKR!cp;JXuh7(g}T1IGNx+$Jt;<;S(WcAD-fR3aYZMkE-k~nQTe+Z}d-(&<7zdIL+udPK-l4qo+fM3Z@&GRLv z_ufQq+Vd$NjwDj4@U!wH(Pvm@Umu)F@L3}!clLwJ2`P0^a?dag`Ps!BY$s8=r^MjB zy!1ne`I*sIUaWk(awGP8>@c>p{Crtn`V(&83ke_rB!C2v01`j~NB{{SfwxXTA+b;< z5s#+h=|o~7srTx|T&>y9Z^<>{_-2E6zQAXBAC2 z+i9w@A)7ShSI2nxO1t$a@DZWp@!hU>T< z@!d8#Iy7yY1DPDil!UrR9dY^Dpo`#g*CY3RwoNRUpL14bI+1%Sod_^Vq{YNSM($OM zdATE(?=-bz;%EosJw7*^MoICBeVpU7T#-(pe4hIWqP8^}*(NKKvHxWS+^4QY)0ygTI;+>k~o8sB8K-7E+_sg~Ez@;?A`hI4bm;jF6ArDNW9pb<;qn(oxw~sR z7BLfa^uQ%ENz+cfQ4lMGHrKC6)X}KndX4}YDT4P>v19rWbQt4k%uiMaDEvp7PG#=S zgG?$Bg=wroY^6K0z*Y5)e7o1OY}i^=A|@u!=^)ZZfP zWXsI05c3D~Bl8Qh4|RaQnD3b17?ruj>@eTF^^Fb%kN^@u0!RP}AOR$R1dsp{Kmter z3A_UYn7K?iP@E&w4pi8N)DG0c?om5XxKgPds5Dim9jFEg)D9GIu1=mmExV+t9VnEn zQae!CNKiXaftaUuplATq1U&zL2ht3Ohy;)T5 Date: Sun, 9 Oct 2022 20:01:59 +0700 Subject: [PATCH 15/22] Add USAGE --- README.md | 50 ++++++++++++++++--- ...lization.ipynb => data-visualization.ipynb | 0 xml2csv.py | 2 +- 3 files changed, 44 insertions(+), 8 deletions(-) rename Dev_mountain_visualization.ipynb => data-visualization.ipynb (100%) diff --git a/README.md b/README.md index 91b2957..fba13b6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,40 @@ # hackathon-season2 +## USAGE +To generate CSV from XML: +> python xml2csv.py + +```text +usage: xml2csv.py [-h] [--xml XML] [--csv CSV] [--convert-default] + +optional arguments: + -h, --help show this help message and exit + --xml XML Specify the name of a xml file to read from. + --csv CSV Specify the name of a csv file to write to. + --convert-default Convert active 3 years experience+ Airhostess, Pilot, Steward to csv file without duplicate ID and passport number. +``` + +To execute DAL and generate JSON: +> python csv2sqlite.py +```text +usage: csv2sqlite.py [-h] [--csv CSV] [--json JSON] [--database DATABASE] [--table-name TABLE_NAME] [--region-param REGION_PARAM] [--dept-param DEPT_PARAM] [--nation-param NATION_PARAM] + +optional arguments: + -h, --help show this help message and exit + --csv CSV Specify a csv file. + --json JSON Specify a json outfile. + --database DATABASE Specify the name of a database file to write to. + --table-name TABLE_NAME + Specify the name of a table + --region-param REGION_PARAM + Specify parameter for SQLite View region-based query + --dept-param DEPT_PARAM + Specify parameter for SQLite View department-based query + --nation-param NATION_PARAM + Specify parameter for SQLite View nationality-based query + +``` + ## เลข Status จะมีตามนี้ครับ - 1 = Active - 2 = Resigned @@ -28,15 +63,16 @@ - Creative ตอนทำ Data visualization - ผลลัพธ์จาก SQLlite ต้องได้เป็น **JSON** format -**ตัวอย่าง Data visualization** +**Data visualization** -[dev-mountain-visualization](https://dev-moutain-dataviz.netlify.app/) +[Click me](data-visualization.ipynb) -## ตัวอย่างการสร้าง PR -ทีม Dev mountain +## การสร้าง PR +ทีม นอนต่อเลยได้ไหม สมาชิก -- [annibuliful](https://github.com/annibuliful) -- [lordbenz](https://github.com/lordbenz) +- [N.SX](https://github.com/rsxss) +- [Sathipp](https://github.com/Sathipp) +- [Jiruschai](https://github.com/JirusAnun) -Repo: [hackathon](https://github.com/devmountaintechfest/hackathon-season2) +Repo: [hackathon](https://github.com/rsxss/hackathon-season2) diff --git a/Dev_mountain_visualization.ipynb b/data-visualization.ipynb similarity index 100% rename from Dev_mountain_visualization.ipynb rename to data-visualization.ipynb diff --git a/xml2csv.py b/xml2csv.py index 1ecbeaa..0cb64d9 100644 --- a/xml2csv.py +++ b/xml2csv.py @@ -99,7 +99,7 @@ def main(): parser.add_argument( "--convert-default", action="store_false", - help="Only convert actives 3 years experiences+ Airhostess, Pilot, Steward to csv file without duplicate ID and passport number.", + help="Convert actives 3 years experiences+ Airhostess, Pilot, Steward to csv file without duplicate ID and passport number.", ) args = parser.parse_args() From a2ea428ff54fbc893872c589b6538aaadf3abf0a Mon Sep 17 00:00:00 2001 From: Natworpong Loyswai <28857628+rsxss@users.noreply.github.com> Date: Sun, 9 Oct 2022 20:14:57 +0700 Subject: [PATCH 16/22] Update csv2sqlite.py Refactor sort import --- csv2sqlite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csv2sqlite.py b/csv2sqlite.py index 9650468..fd9af05 100644 --- a/csv2sqlite.py +++ b/csv2sqlite.py @@ -1,5 +1,5 @@ -import csv import argparse +import csv import collections import json import sqlite3 From 9d31b51988327373e6d8672015f87cd83f6ad3c9 Mon Sep 17 00:00:00 2001 From: Jiruschai Anuntabundit <64542489+JirusAnun@users.noreply.github.com> Date: Sun, 9 Oct 2022 20:19:38 +0700 Subject: [PATCH 17/22] =?UTF-8?q?=E0=B8=AA=E0=B8=A3=E0=B9=89=E0=B8=B2?= =?UTF-8?q?=E0=B8=87=E0=B9=82=E0=B8=94=E0=B8=A2=E0=B9=83=E0=B8=8A=E0=B9=89?= =?UTF-8?q?=20Colaboratory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dev_mountain_visualization.ipynb | 1457 ++++++++++++++++++++++++++++++ 1 file changed, 1457 insertions(+) create mode 100644 Dev_mountain_visualization.ipynb diff --git a/Dev_mountain_visualization.ipynb b/Dev_mountain_visualization.ipynb new file mode 100644 index 0000000..d4a138d --- /dev/null +++ b/Dev_mountain_visualization.ipynb @@ -0,0 +1,1457 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# **Dev Mountain Tech Festival Season 2**\n" + ], + "metadata": { + "id": "fGI0SGI8iKLU" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Befor migration" + ], + "metadata": { + "id": "ZXzAqLkVjhhF" + } + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": { + "id": "j1crNZld6bnW" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import collections\n", + "import plotly.express as px\n", + "from datetime import datetime" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Chart" + ], + "metadata": { + "id": "DUdfWDyaneH_" + } + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "id": "ypPBntDw7KvQ" + }, + "outputs": [], + "source": [ + "data = pd.read_csv(\"/content/data-devclub-1.csv\")\n", + "df = pd.DataFrame(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 468 + }, + "id": "dV1zXU1G7Xo8", + "outputId": "5ce429b3-a1fa-49a3-d19b-8ddb6b3b31e2" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + " EMPID PASSPORT FIRSTNAME LASTNAME GENDER BIRTHDAY \\\n", + "0 1 OQI75XIE4UX Christopher Kennedy 1 05-02-1978 \n", + "1 2 CDC87ETW8EQ Burton Gallegos 0 22-09-1960 \n", + "2 3 JUI65YBK7AF Jada Bender 0 28-05-1963 \n", + "3 4 CYB72WYU6UR Winter Blair 0 14-02-1993 \n", + "4 5 AZE20CSG4MU Lillian Reese 0 03-12-1982 \n", + ".. ... ... ... ... ... ... \n", + "95 96 LJB26BQM6PS Laith Whitfield 0 14-01-1987 \n", + "96 97 SUF73DKV4QE Dante Hart 0 21-12-1999 \n", + "97 98 DOB31QXV4GZ Moana Walsh 1 03-05-1995 \n", + "98 99 OUB92IKA7AU Jonah Solomon 1 25-05-1985 \n", + "99 100 WIN16ELU8GN Orlando Mayer 0 11-01-1961 \n", + "\n", + " NATIONALITY HIRED DEPT POSITION STATUS \\\n", + "0 South Korea 20-02-2005 Flight Planning Steward 2 \n", + "1 Germany 29-10-2021 Aircraft Maintenance Pilot 1 \n", + "2 Pakistan 11-02-2001 Pilot Pilot 1 \n", + "3 Austria 24-03-2022 Pilot Steward 4 \n", + "4 Ukraine 19-05-2002 Flight Planning Steward 1 \n", + ".. ... ... ... ... ... \n", + "95 Russian Federation 09-02-2001 Pilot Airhostess 0 \n", + "96 Peru 22-02-2016 Pilot Pilot 1 \n", + "97 Brazil 21-04-2002 Pilot Airhostess 3 \n", + "98 Pakistan 30-04-2023 Flight Attendance Pilot 3 \n", + "99 Austria 07-04-2003 Pilot Pilot 0 \n", + "\n", + " REGION \n", + "0 Europe \n", + "1 APAC \n", + "2 Canada \n", + "3 Ocenia \n", + "4 Canada \n", + ".. ... \n", + "95 APAC \n", + "96 Europe \n", + "97 Ocenia \n", + "98 Europe \n", + "99 APAC \n", + "\n", + "[100 rows x 12 columns]" + ], + "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", + " \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", + "
EMPIDPASSPORTFIRSTNAMELASTNAMEGENDERBIRTHDAYNATIONALITYHIREDDEPTPOSITIONSTATUSREGION
01OQI75XIE4UXChristopherKennedy105-02-1978South Korea20-02-2005Flight PlanningSteward2Europe
12CDC87ETW8EQBurtonGallegos022-09-1960Germany29-10-2021Aircraft MaintenancePilot1APAC
23JUI65YBK7AFJadaBender028-05-1963Pakistan11-02-2001PilotPilot1Canada
34CYB72WYU6URWinterBlair014-02-1993Austria24-03-2022PilotSteward4Ocenia
45AZE20CSG4MULillianReese003-12-1982Ukraine19-05-2002Flight PlanningSteward1Canada
.......................................
9596LJB26BQM6PSLaithWhitfield014-01-1987Russian Federation09-02-2001PilotAirhostess0APAC
9697SUF73DKV4QEDanteHart021-12-1999Peru22-02-2016PilotPilot1Europe
9798DOB31QXV4GZMoanaWalsh103-05-1995Brazil21-04-2002PilotAirhostess3Ocenia
9899OUB92IKA7AUJonahSolomon125-05-1985Pakistan30-04-2023Flight AttendancePilot3Europe
99100WIN16ELU8GNOrlandoMayer011-01-1961Austria07-04-2003PilotPilot0APAC
\n", + "

100 rows × 12 columns

\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {} + } + ], + "source": [ + "display(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 261 + }, + "id": "WyIMOVPqJN8r", + "outputId": "6b8561c8-13d2-4247-bc1a-9dc5d7237f89" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "plt.rcParams[\"figure.figsize\"] = [3.50, 3.50]\n", + "plt.rcParams[\"figure.autolayout\"] = True\n", + "\n", + "n, bins, patches = plt.hist(df['POSITION'], bins=3, edgecolor='black')\n", + "ticks = [(patch._x0 + patch._x1)/2 for patch in patches]\n", + "plt.xticks(ticks)\n", + "plt.title(\"Position\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 263 + }, + "id": "h8bn13soHBsp", + "outputId": "1e7ada69-fa9c-4f2e-dd3e-61929c3a4a19" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "OrderedDict([(0, 52), (1, 48)])\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "count = collections.Counter(df['GENDER'])\n", + "count = collections.OrderedDict(sorted(count.items()))\n", + "Value = count.values()\n", + "print(count)\n", + "Key = [\"Female\",\"Male\"]\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.pie(Value,labels = Key, autopct='%.2f%%', startangle=90)\n", + "plt.title(\"Gender\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 198 + }, + "id": "4gjlxN3_27v6", + "outputId": "0a0a65fb-913d-49cb-ad14-c2a4e4d1ef0a" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Counter({'Aircraft Maintenance': 34, 'Flight Planning': 24, 'Flight Attendance': 22, 'Pilot': 20})\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "count_dept = collections.Counter(df['DEPT'])\n", + "Value_dept = count_dept.values()\n", + "Key_dept = count_dept.keys();\n", + "print(count_dept)\n", + "\n", + "fig1, ax1 = plt.subplots()\n", + "ax1.pie(Value_dept,labels = Key_dept, autopct='%.2f%%', startangle=90)\n", + "plt.title(\"Department\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 191 + }, + "id": "8m3YYxQJ41L4", + "outputId": "f5a710e2-f498-43ab-ddc2-597f0c5394f3" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "dict_values([30, 13, 19, 38])\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "count_status = collections.Counter(df['STATUS'])\n", + "count_status = collections.OrderedDict(sorted(count_status.items()))\n", + "dict_status = {'0': count_status[0], '1': count_status[1], '2': count_status[2], '3': count_status[3]+count_status[4]}\n", + "Value_status = dict_status.values()\n", + "\n", + "Key_status = [\"Active\",\"Resigned\",\"Retired\",\"Anomaly Information\"]\n", + "print(Value_status)\n", + "explode = (0, 0,0,0.1)\n", + "\n", + "fig2, ax2 = plt.subplots()\n", + "ax2.pie(Value_status,explode=explode,labels = Key_status, autopct='%.2f%%', startangle=90)\n", + "plt.title(\"Status\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 278 + }, + "id": "dKO21KiiZIu2", + "outputId": "13ca9e2c-c93e-4627-cf04-8ee081c06e86" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[]" + ] + }, + "metadata": {}, + "execution_count": 66 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "df_year = pd.DatetimeIndex(df['HIRED']).year\n", + "dict_year = collections.Counter(df_year)\n", + "dict_year = collections.OrderedDict(sorted(dict_year.items()))\n", + "Value_year = list(dict_year.values())\n", + "Keys_year = list(dict_year.keys())\n", + "\n", + "plt.title(\"The hiring rate for every years\")\n", + "plt.xlabel('Year')\n", + "plt.ylabel('Frequency')\n", + "plt.grid(color='silver', linestyle=':', linewidth=1)\n", + "plt.plot(Keys_year, Value_year)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 278 + }, + "id": "sclqyTvMpSXh", + "outputId": "ef61537e-0e7a-467d-ea78-6f2e70a437ed" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[]" + ] + }, + "metadata": {}, + "execution_count": 67 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "bd = pd.DatetimeIndex(df['BIRTHDAY']).year\n", + "dict_bd = collections.Counter(bd)\n", + "dict_bd = collections.OrderedDict(sorted(dict_bd.items()))\n", + "Value_bd = np.array(list(dict_bd.values()))\n", + "Keys_bd = np.array(list(dict_bd.keys()))\n", + "Keys_bd =[2022-x for x in Keys_bd]\n", + "\n", + "plt.xlim([22, 62])\n", + "plt.title(\"Age of employee\")\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Frequency')\n", + "plt.grid(color='silver', linestyle=':', linewidth=1)\n", + "plt.plot(Keys_bd, Value_bd)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Map" + ], + "metadata": { + "id": "OvRUS5AtnQ0c" + } + }, + { + "cell_type": "markdown", + "source": [ + "***Please use colab to see map***" + ], + "metadata": { + "id": "S2CFE08mri7Q" + } + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "L94m2DNNuKfM", + "outputId": "8287105b-d488-4233-b2ec-1657b5da50e5" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " country count\n", + "0 South Korea 2\n", + "1 Germany 4\n", + "2 Pakistan 4\n", + "3 Austria 5\n", + "4 Ukraine 2\n", + "5 Norway 2\n", + "6 Mexico 5\n", + "7 United States 4\n", + "8 Sweden 5\n", + "9 Philippines 5\n", + "10 Vietnam 6\n", + "11 Netherlands 4\n", + "12 Costa Rica 5\n", + "13 India 3\n", + "14 Colombia 2\n", + "15 South Africa 3\n", + "16 Russian Federation 3\n", + "17 United Kingdom 3\n", + "18 China 2\n", + "19 Indonesia 3\n", + "20 Italy 4\n", + "21 Peru 6\n", + "22 Ireland 2\n", + "23 Turkey 3\n", + "24 Brazil 3\n", + "25 Spain 1\n", + "26 Australia 2\n", + "27 Singapore 3\n", + "28 Belgium 1\n", + "29 New Zealand 1\n", + "30 Nigeria 1\n", + "31 France 1\n" + ] + } + ], + "source": [ + "dict_na = pd.DataFrame(collections.Counter(df['NATIONALITY']), index=[0])\n", + "\n", + "data = pd.DataFrame(dict_na).T.reset_index()\n", + "data.columns=['country', 'count']\n", + "\n", + "print(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 542 + }, + "id": "P-lUFc_IzPYI", + "outputId": "180f1177-4b1d-46ea-8275-5d1a01800a84" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "" + ] + }, + "metadata": {} + } + ], + "source": [ + "database = px.data.gapminder().query('year == 2007')\n", + "\n", + "df_na = pd.merge(database, data, how='inner', on='country')\n", + "\n", + "\n", + "fig = px.choropleth(df_na,\n", + " locations=\"country\",\n", + " locationmode=\"country names\",\n", + " color=\"count\",\n", + " color_continuous_scale=px.colors.sequential.Purp,\n", + " projection=\"natural earth\"\n", + ")\n", + "\n", + "fig.update_layout(\n", + " title_text = 'Employee Nationality',\n", + " geo=dict(\n", + " showcoastlines=False,\n", + " )\n", + ")\n", + "\n", + "fig.show()" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## After migration" + ], + "metadata": { + "id": "jlFu8Rf2muF-" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Chart" + ], + "metadata": { + "id": "56bjc31Qnljd" + } + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": { + "id": "MEEYzmSb1u9B" + }, + "outputs": [], + "source": [ + "data_result = pd.read_csv(\"/content/data-devclub-1_result.csv\")\n", + "df_result = pd.DataFrame(data_result)" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": { + "id": "IazK_5dj2URC", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 426 + }, + "outputId": "125a3a92-e112-4e79-8647-c63986911df8" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + " EMPID PASSPORT FIRSTNAME LASTNAME GENDER BIRTHDAY NATIONALITY \\\n", + "0 3 JUI65YBK7AF Jada Bender 0 28-05-1963 Pakistan \n", + "1 5 AZE20CSG4MU Lillian Reese 0 03-12-1982 Ukraine \n", + "2 23 NFH65BYM0VB Armand Horn 0 24-05-1987 Netherlands \n", + "3 29 CMK62UAD3VK Rowan Leonard 1 15-07-1974 Germany \n", + "4 33 EWD45RJW5YK Carter Velasquez 0 23-11-1967 Indonesia \n", + "5 34 BFS82MEY3CX Selma Bush 0 26-03-1972 Italy \n", + "6 50 MRC33GHJ2KW Calvin Roach 1 16-04-1999 Mexico \n", + "7 66 WKV12UQC6QF Zachery Valentine 0 04-06-1971 Philippines \n", + "8 80 EUC74ENE9ZK Ryan Rush 0 13-06-1998 Italy \n", + "9 93 UXL43IOW6OV Honorato Maxwell 1 09-03-1982 France \n", + "10 95 OUP31WOE2IE Dara Wilcox 1 29-06-1996 Singapore \n", + "11 97 SUF73DKV4QE Dante Hart 0 21-12-1999 Peru \n", + "\n", + " HIRED DEPT POSITION STATUS REGION \n", + "0 11-02-2001 Pilot Pilot 1 Canada \n", + "1 19-05-2002 Flight Planning Steward 1 Canada \n", + "2 19-06-2007 Aircraft Maintenance Airhostess 1 Ocenia \n", + "3 27-03-2004 Aircraft Maintenance Pilot 1 Ocenia \n", + "4 27-02-2005 Flight Planning Pilot 1 APAC \n", + "5 10-10-2008 Flight Attendance Airhostess 1 USA \n", + "6 18-03-2011 Flight Attendance Steward 1 Europe \n", + "7 25-08-2011 Flight Attendance Steward 1 Middle East \n", + "8 31-07-2019 Aircraft Maintenance Pilot 1 Middle East \n", + "9 04-02-2017 Aircraft Maintenance Airhostess 1 Europe \n", + "10 18-05-2011 Flight Attendance Airhostess 1 Canada \n", + "11 22-02-2016 Pilot Pilot 1 Europe " + ], + "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", + " \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", + "
EMPIDPASSPORTFIRSTNAMELASTNAMEGENDERBIRTHDAYNATIONALITYHIREDDEPTPOSITIONSTATUSREGION
03JUI65YBK7AFJadaBender028-05-1963Pakistan11-02-2001PilotPilot1Canada
15AZE20CSG4MULillianReese003-12-1982Ukraine19-05-2002Flight PlanningSteward1Canada
223NFH65BYM0VBArmandHorn024-05-1987Netherlands19-06-2007Aircraft MaintenanceAirhostess1Ocenia
329CMK62UAD3VKRowanLeonard115-07-1974Germany27-03-2004Aircraft MaintenancePilot1Ocenia
433EWD45RJW5YKCarterVelasquez023-11-1967Indonesia27-02-2005Flight PlanningPilot1APAC
534BFS82MEY3CXSelmaBush026-03-1972Italy10-10-2008Flight AttendanceAirhostess1USA
650MRC33GHJ2KWCalvinRoach116-04-1999Mexico18-03-2011Flight AttendanceSteward1Europe
766WKV12UQC6QFZacheryValentine004-06-1971Philippines25-08-2011Flight AttendanceSteward1Middle East
880EUC74ENE9ZKRyanRush013-06-1998Italy31-07-2019Aircraft MaintenancePilot1Middle East
993UXL43IOW6OVHonoratoMaxwell109-03-1982France04-02-2017Aircraft MaintenanceAirhostess1Europe
1095OUP31WOE2IEDaraWilcox129-06-1996Singapore18-05-2011Flight AttendanceAirhostess1Canada
1197SUF73DKV4QEDanteHart021-12-1999Peru22-02-2016PilotPilot1Europe
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {} + } + ], + "source": [ + "display(df_result)" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": { + "id": "IxEwec_r3KE7" + }, + "outputs": [], + "source": [ + "data = pd.read_csv(\"/content/data-devclub-1.csv\")\n", + "df = pd.DataFrame(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": { + "id": "44QO0nnw2nSI", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 261 + }, + "outputId": "b0cfb55c-755d-4e46-c410-4ce2db4f99f3" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "x = [len(df_result),len(df)]\n", + "y = [\"Remaining\",\"Out\"]\n", + "\n", + "fig, ax = plt.subplots()\n", + "explode = (0, 0.1)\n", + "ax.pie(x,labels = y,explode=explode, autopct='%.2f%%', startangle=90)\n", + "\n", + "plt.title(\"Transfer\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "source": [ + "count = collections.Counter(df_result['GENDER'])\n", + "count = collections.OrderedDict(sorted(count.items()))\n", + "\n", + "Value = count.values()\n", + "\n", + "print(count)\n", + "Key = [\"Male\",\"Female\"]\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.pie(Value,labels = Key, autopct='%.2f%%', startangle=90)\n", + "plt.title(\"Gender\")\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 278 + }, + "id": "FKWGKQa-jqcx", + "outputId": "f901879c-ad94-46bc-d600-52fdf81ee038" + }, + "execution_count": 74, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "OrderedDict([(0, 8), (1, 4)])\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Map" + ], + "metadata": { + "id": "Rk_C4oWonXlO" + } + }, + { + "cell_type": "markdown", + "source": [ + "***Please use colab to see map***" + ], + "metadata": { + "id": "os5OCEUprSBD" + } + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "id": "gglCO2Rl5llG", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "10007e6d-689f-40d2-d90e-501f70f8ca5d" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " country count\n", + "0 Pakistan 1\n", + "1 Ukraine 1\n", + "2 Netherlands 1\n", + "3 Germany 1\n", + "4 Indonesia 1\n", + "5 Italy 2\n", + "6 Mexico 1\n", + "7 Philippines 1\n", + "8 France 1\n", + "9 Singapore 1\n", + "10 Peru 1\n" + ] + } + ], + "source": [ + "dict_na_result = pd.DataFrame(collections.Counter(df_result['NATIONALITY']), index=[0])\n", + "\n", + "data_result = pd.DataFrame(dict_na_result).T.reset_index()\n", + "data_result.columns=['country', 'count']\n", + "\n", + "print(data_result)" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "id": "6NSU1R0t563t", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 542 + }, + "outputId": "f598775e-5b19-41c9-8161-618539306b7f" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "" + ] + }, + "metadata": {} + } + ], + "source": [ + "database = px.data.gapminder().query('year == 2007')\n", + "\n", + "df_na_result = pd.merge(database, data_result, how='inner', on='country')\n", + "\n", + "\n", + "fig = px.choropleth(df_na_result,\n", + " locations=\"country\",\n", + " locationmode=\"country names\",\n", + " color=\"count\",\n", + " color_continuous_scale=px.colors.sequential.Purp,\n", + " projection=\"natural earth\"\n", + ")\n", + "\n", + "fig.update_layout(\n", + " title_text = 'Remaining Employee Nationality',\n", + " geo=dict( showcoastlines=False )\n", + ")\n", + "\n", + "fig.show()" + ] + } + ], + "metadata": { + "colab": { + "provenance": [], + "collapsed_sections": [], + "authorship_tag": "ABX9TyMDF8S3sb/9SLZsbcV1jI2a", + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file From fc8d3a18c97398067853c8d4bad2940747ef7b59 Mon Sep 17 00:00:00 2001 From: Jiruschai Anuntabundit <64542489+JirusAnun@users.noreply.github.com> Date: Sun, 9 Oct 2022 20:33:00 +0700 Subject: [PATCH 18/22] Delete Dev_mountain_visualization.ipynb --- Dev_mountain_visualization.ipynb | 1457 ------------------------------ 1 file changed, 1457 deletions(-) delete mode 100644 Dev_mountain_visualization.ipynb diff --git a/Dev_mountain_visualization.ipynb b/Dev_mountain_visualization.ipynb deleted file mode 100644 index d4a138d..0000000 --- a/Dev_mountain_visualization.ipynb +++ /dev/null @@ -1,1457 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "markdown", - "source": [ - "# **Dev Mountain Tech Festival Season 2**\n" - ], - "metadata": { - "id": "fGI0SGI8iKLU" - } - }, - { - "cell_type": "markdown", - "source": [ - "## Befor migration" - ], - "metadata": { - "id": "ZXzAqLkVjhhF" - } - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": { - "id": "j1crNZld6bnW" - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "import collections\n", - "import plotly.express as px\n", - "from datetime import datetime" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Chart" - ], - "metadata": { - "id": "DUdfWDyaneH_" - } - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": { - "id": "ypPBntDw7KvQ" - }, - "outputs": [], - "source": [ - "data = pd.read_csv(\"/content/data-devclub-1.csv\")\n", - "df = pd.DataFrame(data)" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 468 - }, - "id": "dV1zXU1G7Xo8", - "outputId": "5ce429b3-a1fa-49a3-d19b-8ddb6b3b31e2" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - " EMPID PASSPORT FIRSTNAME LASTNAME GENDER BIRTHDAY \\\n", - "0 1 OQI75XIE4UX Christopher Kennedy 1 05-02-1978 \n", - "1 2 CDC87ETW8EQ Burton Gallegos 0 22-09-1960 \n", - "2 3 JUI65YBK7AF Jada Bender 0 28-05-1963 \n", - "3 4 CYB72WYU6UR Winter Blair 0 14-02-1993 \n", - "4 5 AZE20CSG4MU Lillian Reese 0 03-12-1982 \n", - ".. ... ... ... ... ... ... \n", - "95 96 LJB26BQM6PS Laith Whitfield 0 14-01-1987 \n", - "96 97 SUF73DKV4QE Dante Hart 0 21-12-1999 \n", - "97 98 DOB31QXV4GZ Moana Walsh 1 03-05-1995 \n", - "98 99 OUB92IKA7AU Jonah Solomon 1 25-05-1985 \n", - "99 100 WIN16ELU8GN Orlando Mayer 0 11-01-1961 \n", - "\n", - " NATIONALITY HIRED DEPT POSITION STATUS \\\n", - "0 South Korea 20-02-2005 Flight Planning Steward 2 \n", - "1 Germany 29-10-2021 Aircraft Maintenance Pilot 1 \n", - "2 Pakistan 11-02-2001 Pilot Pilot 1 \n", - "3 Austria 24-03-2022 Pilot Steward 4 \n", - "4 Ukraine 19-05-2002 Flight Planning Steward 1 \n", - ".. ... ... ... ... ... \n", - "95 Russian Federation 09-02-2001 Pilot Airhostess 0 \n", - "96 Peru 22-02-2016 Pilot Pilot 1 \n", - "97 Brazil 21-04-2002 Pilot Airhostess 3 \n", - "98 Pakistan 30-04-2023 Flight Attendance Pilot 3 \n", - "99 Austria 07-04-2003 Pilot Pilot 0 \n", - "\n", - " REGION \n", - "0 Europe \n", - "1 APAC \n", - "2 Canada \n", - "3 Ocenia \n", - "4 Canada \n", - ".. ... \n", - "95 APAC \n", - "96 Europe \n", - "97 Ocenia \n", - "98 Europe \n", - "99 APAC \n", - "\n", - "[100 rows x 12 columns]" - ], - "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", - " \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", - "
EMPIDPASSPORTFIRSTNAMELASTNAMEGENDERBIRTHDAYNATIONALITYHIREDDEPTPOSITIONSTATUSREGION
01OQI75XIE4UXChristopherKennedy105-02-1978South Korea20-02-2005Flight PlanningSteward2Europe
12CDC87ETW8EQBurtonGallegos022-09-1960Germany29-10-2021Aircraft MaintenancePilot1APAC
23JUI65YBK7AFJadaBender028-05-1963Pakistan11-02-2001PilotPilot1Canada
34CYB72WYU6URWinterBlair014-02-1993Austria24-03-2022PilotSteward4Ocenia
45AZE20CSG4MULillianReese003-12-1982Ukraine19-05-2002Flight PlanningSteward1Canada
.......................................
9596LJB26BQM6PSLaithWhitfield014-01-1987Russian Federation09-02-2001PilotAirhostess0APAC
9697SUF73DKV4QEDanteHart021-12-1999Peru22-02-2016PilotPilot1Europe
9798DOB31QXV4GZMoanaWalsh103-05-1995Brazil21-04-2002PilotAirhostess3Ocenia
9899OUB92IKA7AUJonahSolomon125-05-1985Pakistan30-04-2023Flight AttendancePilot3Europe
99100WIN16ELU8GNOrlandoMayer011-01-1961Austria07-04-2003PilotPilot0APAC
\n", - "

100 rows × 12 columns

\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ] - }, - "metadata": {} - } - ], - "source": [ - "display(df)" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 261 - }, - "id": "WyIMOVPqJN8r", - "outputId": "6b8561c8-13d2-4247-bc1a-9dc5d7237f89" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "plt.rcParams[\"figure.figsize\"] = [3.50, 3.50]\n", - "plt.rcParams[\"figure.autolayout\"] = True\n", - "\n", - "n, bins, patches = plt.hist(df['POSITION'], bins=3, edgecolor='black')\n", - "ticks = [(patch._x0 + patch._x1)/2 for patch in patches]\n", - "plt.xticks(ticks)\n", - "plt.title(\"Position\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 263 - }, - "id": "h8bn13soHBsp", - "outputId": "1e7ada69-fa9c-4f2e-dd3e-61929c3a4a19" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "OrderedDict([(0, 52), (1, 48)])\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPgAAADlCAYAAAB+mTpOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAbkElEQVR4nO3deZxT5b3H8c8vszPMhGXYZDEigigi7rtiXS/jvlWhtyq11qX1erG9Tav1HpdqtN5ra7Vurdpb96oVbaiKVtzFpViUHTStLEVAyMzAMEvy3D9OgMDMMJPM8uSc/N6vV15OkpPkO5jvnP05YoxBKeVPAdsBlFLdRwuulI9pwZXyMS24Uj6mBVfKx7TgSvmYFly1S0QuEpG3bedQmdOCe5iInC8is0Vko4h8lfr5ChER29lUbtCCe5SIXAP8CvgFMBgYBFwGHAEUW4y2HREpsJ0hn2nBPUhEgsCNwBXGmGeMMbXGNccYM8UY0yAiJSJyh4j8U0RWi8h9IlKWev1EEVkuItek5vyrROTitPfvLyIviEiNiHwA7L7D5+8pIjNF5GsRWSQi56U994iI3CsiM0RkI3Bsz/yrqNZowb3pMKAEmL6TaSLAaGACMAoYClyf9vxgIJh6/DvAPSLSN/XcPcBmYAgwNXUDQETKgZnA48BA4HzgNyKyV9p7TwZ+DlQAuu5ukRbcm6qAtcaY5i0PiMi7IrJBROpF5BjgUuA/jTFfG2NqgVtwy7hFE3CjMabJGDMDqAPGpBapzwauN8ZsNMZ8Bvw+7XWnADFjzMPGmGZjzBzgWeDctGmmG2PeMcYkjTGbu+H3Vx1UaDuAyso6oEpECreU3BhzOICILMddH+8FfJy2vU2A9PXhdel/IIBNQG9gAO734su05/6R9vOuwCEisiHtsULgD2n301+rLNKCe9N7QANwOu7cc0drgXpgb2PMigzfew3QDAwHFqYeG5H2/JfAG8aYE3byHnqKYo7QRXQPMsZsAG7AXfc9R0QqRCQgIhOAciAJPAjcKSIDAURkqIic1IH3TgDPAY6I9EqtW1+YNsmfgdEi8u8iUpS6HSQiY7v411RdQAvuUcaY24FpwH8Bq1O3+4EfA++m/rsUeF9EaoBXgTEdfPvv4y6u/wt4BHg47XNrgRNx1+dXpqa5DXejn8oxogM+KOVfOgdXyse04Er5mBZcKR/TgivlY1pwpXxMC66Uj2nBlfIxLbhSPqYFV8rHtOBK+ZgWXCkf04Ir5WNacKV8TAuulI9pwZXyMS24Uj6mBVfKx7TgSvmYFlwpH9OCK+VjWnClfEwLrpSPacGV8jEtuFI+ptcmy3OhcLQIKPx2wSuBG4seAfeqo004cb0ihg9owX0oFI4GcK8JPgLYJXUbmvbzLrjXBy/e8pohsu4t4Kitb+IEG4GvcC9NtCr13y0/rwIWAYtw4slu/4VU1rTgPhAKR3cDDkq7HYB7bbHOKAaGpW5t2YgTnAvMSbt9hhNv6ORnqy6iBfegUDi6H3AqcBhwIFBlKUp5KsNhaY814QTnADNSt490cd8eLbgHpBa5jwTOBM4AQlYD7VwRcHDq5gCrcYIvAVHgFZx43GK2vKMFz1GhcLQYOAG31KcBA+wmytog3OuLXwg04wRnAb8DnsOJN9oMlg+04DkmFI6OBC4DLsbeond3KQSOT93W4gT/D3gAJ77Ibiz/0oLniFA4ejJwFXAyIJbj9IQqYBowDSf4FvAA8AxOfLPdWP6iBbcotRg+GfeLvo/lODYdlbr9AicYAe7TLfFdQwtuQWqj2YXATbj7p5VrMPBL4Ec4wVuA3+p6eufooao9LBSOHgf8DXgILXdbhgL3AEtwgpfiBItsB/IqLXgPCYWje4bC0ReBV4F9befxiBHA/cAinODptsN4kS6id7NQOFoF3ABciv57Z2s34Hmc4HPAD3DiK20H8gqdg3ejUDg6BVgCXIGWuyucBczHCV6OE8yHPQ2dpgXvBqFwtE8oHH0ceBToYzuPzwSB3wBv4QT3sh0m12nBu1goHJ0IzAUusBzF744A5uAEwzo3b5sWvIuEwtHiUDj6C+A1YLjtPHmiGLgVd/1cl5RaoQXvAqFwdCzwAfBD9N/UhtOAj3CCundiB/pl7KRQOHoC8D6668u23YH3cIIX2Q6SS7TgnRAKR6finvNcaTuLAqAMeBgn+ABOsMR2mFygu26yEApHBbgZ+KntLKpV3wXG4ARPy/fzz3UOnqFQOFqCu/tLy53bjgbexAkOsR3EJi14BkLhaD/gFdwzwFTuGw+8gxPc3XYQW7TgHZQ65PQN3DmD8o7dgDdwgmNsB7FBC94BoXC0LzATGGc7i8rKUNyS7207SE/TgrcjFI5WAi8DE2xnUZ0yCPhrvi2ua8F3IhSOlgIv4o41rrxvIPAXnKDfxrprkxa8DaFwtAB4Al3n9ps9gBdwgmW2g/QELXjb7sUdg1z5z2HAYzhB33//ff8LZiMUjk7DPVhC+deZuOO/+ZoWfAehcPRw4DbbOVSP+AFOcJrtEN1JC54mta/7KfQQ3nxyO07wCNshuosWPCU1lPFj7Pxqmsp/CoDH/Xo+uRZ8m58BJ9oOoawYATxoO0R30IKz9Zzu623nUFadgxO81HaIrpb3BQ+FowNwF83z/t9CcSdOcKztEF1Jv9RwB969NK/qWr2AJ/00WEReFzwUjh4DfNt2DpVTxuOOrecLeVvwUDhahDu+tlI7+ilO0Bcj4+ZtwYFrAB04X7WmF/A/tkN0hbwseCgcDeHuFlOqLefiBL9hO0Rn5WXBgbtw/0ortTN34QQ9fVRj3hU8FI6eDJxqO4fyhL2BK22H6Iy8Kzh6QIvKjIMT9Oy493lV8FA4eizuucBKdVQf4HLbIbKVVwUHrrUdQHnS1TjBUtshspE3BQ+Fo4cAx9nOoTxpMHCR7RDZyJuCo3Nv1Tk/wgkW2A6RqbwoeCgcHQ+cYjuH8rSRwHm2Q2QqLwoOhAGxHUJ53o9tB8iU7wueGobpHNs5lC/sixM80naITPi+4MAUoMh2COUb37IdIBP5UPCptgMoXzkXJ1hsO0RH+brgoXB0Au75vUp1lX7AJNshOsrXBQcusB1A+ZJnFtP9XvBv2g6gfOkUrwyz7NuCh8LRQ4FdbedQvlQCnGs7REf4tuDAWbYDKF873XaAjvBzwY+1HUD52tFeGAzClwUPhaOVwH62cyhfqwAOtB2iPb4sOHAU7jWnlOpOOT9mm18LfoztACovaMEtmWg7gMoLh+f6VVB8V/BQOFoB7G87h8oLZeT4EGC+KzhwJLr+rXrOEbYD7IwfC36I7QAqr+T01Uj9WPA9bAdQeUUL3sO04Kon7YkTzNnRgvxY8FG2A6i80gsYYTtEW3xV8FA42h/oazuHyjt72g7QFl8VHF08V3Z0aD1cRIyIPJp2v1BE1ojIn9t53cT2pmmL3wqui+fKho7OwTcC40SkLHX/BGBF90Ry+a3gOgdXNgzJYNoZQHXq5wuAJ7Y8ISIHi8h7IjJHRN4VkTE7vlhEykXkIRH5IDXdTk9b9VvBh9kOoLKTSBr2u7+OUx7fBMBrnzez//11TLivjiMf2sjSr5Otvu7WtxoYdVctY+6u4+WlzVsff2lpM2PurmPUXbVE3m7Y+viU5zYx/t46fvra5q2P3fxmA88vbOpM/KoMpn0SOF9ESnHHC5yd9txC4ChjzH64V8G9pZXXXwv81RhzMO4p0b8QkfK2PsxvBe9tO4DKzq9mNzK2atvX8fLoZh47q4xPLuvN5H2KuPnNhhavmb8mwZPzmph3RW9emtKLK2bUk0gaEknDlTPq+cuUXsy/sjdPfNbE/DUJ5q5OUFYozL28Nx+uTBDfbFhVm2T2igRn7NmpkbU7XHBjzFwghDv3nrHD00HgjyLyGXAn7vXJd3QiEBaRT4BZQCk72Yrvt4L3sh1AZW55TZLokmYu2X/baMQiUNNgAIhvNuxS0XJX8/SFzZy/dxElhcJufQOM6hfggxUJPliRYFS/ACP7BiguEM7fu4jpC5spCkB9syFpDE0JKAjA9a83cMPETp8v0j/D6V8A7iBt8TzlJuB1Y8w44FTc8u5IgLONMRNStxHGmAVtfVDOj0iRIS24B1390mZuP76U2kaz9bHfnlrKpMfrKSuEyhLh/UtaLoWuqE1y6LBtpx0MqwiwotZ9j+GV2+ZdwyqF2SsSjB1QwIBeAfa/fyP/Pr6IpV8nSRrYf0inT12oyHD6h4ANxphPRWRi2uNBtm10u6iN174M/EBEfmCMMSKynzFmTlsfpHNwZdWfFzcxsFw4YJftS3bn+43MmFzG8mkVXDyhiGkvb27jHTLzy5NL+eSy3lxzeAk/e72Bm75Rws/fbOC8P27iwY8bs33bYpxgh5fxjTHLjTF3tfLU7cCtIjKHtme+N+FeqWeuiMxL3W+TzsGVVe/8M8ELi5qZsaSWzc3uYnn145tYuDbBIcPcr+c3xxVx8qObWrx2aEWAL+Pb5vrLa5MMTS3Kf1mzbaPc8hrD0Irt52XTFzZxwJAAdY2GZeuTPH1uL056dCNTxhfRqyirI097A+t3NoExpsU2ImPMLNx1aYwx7wGj056+rpVp6oHvdTSUFjxl+b1TCRSXQSCABAoYcuEvWf/6Q2xa+gFSUEhhn8FUTbqaQGnL7Xj1n3/M1689AMkkvfc9keCh7oi6TRv+xdoXbidZX0vx4FFUnTINKSii5uMXqfvkLxRUDmDgWdchBUVsXj6PTYvepd9x383+t/egW48v5dbj3VXNWbFm7ni3kefPL2PwHXUsXpdgdP8CZi5rZuyAlgubp40pZPJz9Uw7rJiVtYYl65IcPLQAAyxZl+SL9UmGVgpPzmvi8bPKtr6uKWH45exGopN7sWRdcutlZxNJaExAr+y2t+Xk9e+04GkGXXALBb2CW++XhibQ55gLkUAB62c9TPz9P9J34sXbvcYkE3w9814GfvNmCiv6s+r3/0nZqEMorhrBhlmPUHng6ZTvdQzrXr6burkzqdhvEhvnzWLI1LuJv/c09V/8jbLdDyb+zpNUnfZfnYnfKQ059P0sDAgPnlrK2U/XExDoWyo8dLpb0BcWNfHRygQ3HlvK3gMLOG+vIvb6TR2FAeGeSaUUBNy63j2plJMe3UTCGKZOKGbvgdtWAe75sJEL93Xn1OMHBdjUbNjn3jomjSqkT2nW54203MyfA9otuIgkgE/THjrDGBPrjjAiEgMONMaszfItuvRbWrbbtoFhSnYZw8ZF77SYpnHVYgr7DKGoz2AAysceTf2S9ynqP5zN/5xL1Wk/AqD3uOPY8PbjVOw3CTCQSGCaGpBAIRvnvU7ZyAMpKMt0W03XWZoc2ua+1J4yMVTIxJD7lTxzbBFnjm35v/O0MUWcNmbb49ceXcK1R7fcCj5pjyIm7dH61+HqQ7dNLyI8cXaXrNl1zUaCLtaRjWz1aZvkJ3RXubtIyxW1jhLhq6evZ9Uj/0HtJy+1eLpu7kzKRrYcJbe5dh2FlQO23i+oqCJRt45kfQ2BknIkULDd4wAV+5/Cqj9cQ6JmDSVDx1L36atU7F/d4r170mIzrJ/VAN5mcOLenIO3RkQOAP4Xd8PCWuAiY8wqEZkFzMEdtrgc+DbwE2Af4CljzHWp1z8PDMfdz/crY8wDrXzGt4CrgGLco32uMMYk2om2MZvfB2DwlNsorKgisXEDq5+6jqL+wygdPg6A+LtPQaCA8r0mZvv22+k97hv0HucOyLnhnSeoPOBU6j//mI2fvUZB5QD6fuM7iPTsDo6YGTzEGIwIOXtucw7LyXJDx+bgZSLySer2JxEpAn4NnGOMOQB3n97P06ZvNMYcCNwHTAeuBMYBF4nIlgMCpqZeeyBwVdrjAIjIWNwLBx5hjJkAJIApHcha14FpWlVY4R6MVFDeh16jD6Nh5WL3DT99lU3LPqDq1B8i0vK7X1jRn+aaNVvvJ2rXUtC7P4GySpINGzHJxHaPp2uuXUfjqsX0Gn0YNR/+iarTf0ygpJzNsb9n+2tkrZGikiSB1T3+wf6Qk4vnkPki+pnAGNzCzkwdLncd2x8D/kLqv58C84wxq4wxDcDnuHNtcEv9d+D91GM7niRyHHAA8GHqM44DRnYga00Hpmkh2biZZMOmrT9v/mIOxQN2pf7zj6mZ/SwDz76eQFFrBxVB8ZDRNK9fSdOGf2ESTWxc8CZlow5BRCgdsQ+bFr4NQN1nr9Frj0O3e+2Gtx4leKT7d8s0N7iHb4m4P1tQR+ma9qdSrcjZgmeziC64xW1ruNgt384k2y+6JIHC1JE7xwOHGWM2pRbrd2yPAL83xvwkw2zrMpwegMSmDax57uZUyiTlex1D2cgDWHH/dzGJJlY/dR3gbmjrf9L3aa5dx7qX7mLQuTcggQL6nXAZXz19PZgkvfc5geIB7kVN+0y8mLUv3MaGtx6leNBIeo8/cetnNq5e5r7nYPcM1/KxE1n1u+9TUFlF8JBzsvk1Om216VsTlOw3Y+SxetsB2pJNwRcBA0TkMGPMe6lF9tHGmHkdfH0QWJ8q957Aoa1M8xowXUTuNMZ8JSL9gApjzD/aee+str4X9RnMLlPvbvH40O892Or0hRX9GXTuDVvvl+1+EEN3P6jV9x3y7TtbfY/iQbtTNek/tt6vPOh0Kg+ye8HKL8zg5tHde3qyX+XsP1rGW3KMMY3AOcBtqcXsT4DDM3iLl3Dn5AuACO5i+o6fMR930f8VEZkLzKRj59zqImYnLDLDdTz57MRsB2hLu3PwNg6v+wQ4upXHJ6b9PIvU4XU7Pgf8WxufFUr7+Sngqfby7eBfGU6v0sxP7qqH+mbnC9sB2uK3k00W2Q7gZYvN8EwGLlDbxGwHaIvfCt7R7QCqFf80A4cYQ+tDp6id0Tl4T4hFqteg6+FZa6awKEFAV3MypwXvQfNtB/CyWsqyPQ8gXyWA5bZDtMWPBdfF9E5YbfrV2s7gMYtx4s3tT2aHFlxt53MzpFPDi+ah92wH2BktuNrOwuRwv40R0N204D3sU8C0O5Vq1UKzqw49nRkteE+KRaq/Bnr+dCyfWGSG6b7wjttAjm/U9V3BU16xHcCrlpsBQ4yhvfPulWs2Tjynlxa14Go7CQoKdF94h71rO0B7/Frwt+nM8E15roZyPVioY96yHaA9vix4LFLdALxpO4dXrTL9sh4ZJ4+sQwtulS6mZ+kLM0TXwds3PZcPcNlCC65aWJAcoeeFt+9Z2wE6wrcFj0Wq5wHLbOfwogVmRKXtDDkuDrxqO0RH+LbgKQ/bDuBFS3RfeHtexIlnfaXCnuT3gj8Cuk83U8tN1WBj0GPS2+aJxXPwecFjkeoVuNdTVhkwBALNFKyynSNH1eCh75SvC57yO9sBvChOeVZDUOeBh3DiOTtM8o7yoeAvAl/ZDuE1ui+8VUmg5fjaOcz3BY9FqpuAP9jO4TXLzC46NltLUZy4p/bM+L7gKbqYnqGFyRG5c8Hw3HGX7QCZyouCxyLVC4C/2M7hJfP1vPAdzcOJe2Lfd7q8KHjKTbYDeMnS5NCBtjPkmF/bDpCNvCl4LFL9Hu41z1QHrKT/IGPwxMEcPWA1Ht2OkzcFT7nRdgDvEGmicKXtFDnCwYl78vTjvCp4LFL9Jh46SMG2OOVf286QAxYCv7UdIlt5VfCUn6CDMnbIStN/o+0MOSDshdNC25J3BY9FqueQ+VVL89JSMzTfj+N/Cyc+3XaIzsi7gqeEAZ07tWNBckSx7QyW/dB2gM7Ky4LHItX/AK61nSPXLczv88Kfxol/YDtEZ+VlwVN+DbxvO0QuW5K/+8I3ANNsh+gKeVvwWKQ6CXwHdF9vW1bTd6AxbLadw4KrcOIrbIfoCnlbcIBYpHo+cIvtHLlLaKQw384L/xNO3JMHtbQmrwuecit6wcI2baB3Pp0Xvga4zHaIrpT3BY9FqhtxF9X19MhWrDBVnhncoAtcjhP31dgBeV9wgFikejZwne0cuWhpcmi+/OF7AifumbHWOkoLnhKLVN8KPGM7R65ZYPJiX/gy4ArbIbqDFnx7FwGf2Q6RSxaYEUHbGbpZHXAGTnyD7SDdQQueJhap3gicAay3nSVX5MF54RfhxH37R10LvoNYpHoZcAG60Q2AtfSpMsa3h/Xe4Mf17nRa8FbEItUvAz+1nSNXNFDkx+uFP44Td2yH6G5a8DbEItW3oYM1ArCe3n47L/wdYKrtED1BC75zlwK/tx3CtuVmgJ/2hX8MnIITb7AdpCdowXcidbz6VOAx21lsWpIc5pcBMj4GjvfrFvPWaMHbkSr5hcCTtrPYstCMKLGdoQt8RJ6VG7TgHRKLVCeAbwF/tJ3FhgVJz+8L/wg4Id/KDVrwDkuVfDLwnO0sPW2p2WWw7QydkLflBi14RmKR6mbgm3h4lM1srKeyrzHU2s6Rhb+Sx+UGLXjGYpHq5lik+ru447r5ZeNTuzZT7LV94b8BTsrncoMWPGup/eTnAZ4cED9TX1PhlcN3m3FP+7zSy8MddxUteCfEItXPAIcDMctRut1yM8ALQzetw10kv892kFyhBe+kWKT678CBgOeuPJmJxbm/L3w+cDBOfJbtILlEC94FYpHqdcDJwPVAk+U43WKBGVFqO8NO3A8cghP/3HaQXCPG5PofZm8JhaPjgUeA/SxH6VL7y+JFz5U4Y2zn2MFy4Ds48VdsB8lVOgfvYrFI9VzgYOC/8dHcPAf3hf8fME7LvXM6B+9GoXB0X9y5+QTLUbrEFyWTa0SwfbWT1cClOPEXLOfwBJ2Dd6PUBriDAQe8fwGBerv7wpuBe4G9tdwdp3PwHhIKR4fhLrZfDBRYjpOVt4qvmj08sPYQCx/9PO5lfBdZ+GxP0zl4D4lFqpenjoDbC/ekFc/9Zf3SDOzppZDZwFE48TO13NnRgvewWKR6cSxSfR7uvnNPbSBabIZJD33UUuA8nPihOPG3e+gzfUkLbkksUv23WKT6JOBY4GU8MEefb3bt7n3hfwVOB8bgxPPy1NyupuvgOSIUjo7EHSLqYiAnhyreV5YtmV7ysz26+G3rcUfMuQsn/mkXv3fe04LnmFA4WgycBXwPmGg3zfZ6s6nms9JLumo32T9wj0B7ACeeTxc47FFa8BwWCkf3BC7BLfxuluMA8HnJ5PUBoW+WL18KPAs8ixP/sAtjqTZowT0iFI7ug7t+eiruBjor20/mlVy8sFwa9szgJQtwS/0MTvzv3RRLtUEL7kGhcLQfcDxwIu5i/EigR7Zwv1F89fu7Br46tI2nk7jXWn8vdXsbJ760J3Kp1mnBfSAUjlYC+wD7pm7jU/fLu/qz/lB06xtHFXx6DG6Zl+Oeprml0LNx4jVd/Zkqe1pwnwqFowFgd2AsMACoauPWB/cw0MY2bpuBVbhlXn5JQXTZdUWPfQksy5eLB3iZFlwpH9MDXZTyMS24Uj6mBVfKx7TgSvmYFlwpH9OCK+VjWnClfEwLrpSPacGV8jEtuFI+pgVXyse04Er5mBZcKR/TgivlY1pwpXxMC66Uj2nBlfIxLbhSPqYFV8rHtOBK+ZgWXCkf04Ir5WNacKV8TAuulI9pwZXyMS24Uj72/3ulwrp0CW5pAAAAAElFTkSuQmCC\n" - }, - "metadata": {} - } - ], - "source": [ - "count = collections.Counter(df['GENDER'])\n", - "count = collections.OrderedDict(sorted(count.items()))\n", - "Value = count.values()\n", - "print(count)\n", - "Key = [\"Female\",\"Male\"]\n", - "\n", - "fig, ax = plt.subplots()\n", - "ax.pie(Value,labels = Key, autopct='%.2f%%', startangle=90)\n", - "plt.title(\"Gender\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 198 - }, - "id": "4gjlxN3_27v6", - "outputId": "0a0a65fb-913d-49cb-ad14-c2a4e4d1ef0a" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Counter({'Aircraft Maintenance': 34, 'Flight Planning': 24, 'Flight Attendance': 22, 'Pilot': 20})\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": {} - } - ], - "source": [ - "count_dept = collections.Counter(df['DEPT'])\n", - "Value_dept = count_dept.values()\n", - "Key_dept = count_dept.keys();\n", - "print(count_dept)\n", - "\n", - "fig1, ax1 = plt.subplots()\n", - "ax1.pie(Value_dept,labels = Key_dept, autopct='%.2f%%', startangle=90)\n", - "plt.title(\"Department\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 191 - }, - "id": "8m3YYxQJ41L4", - "outputId": "f5a710e2-f498-43ab-ddc2-597f0c5394f3" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "dict_values([30, 13, 19, 38])\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": {} - } - ], - "source": [ - "count_status = collections.Counter(df['STATUS'])\n", - "count_status = collections.OrderedDict(sorted(count_status.items()))\n", - "dict_status = {'0': count_status[0], '1': count_status[1], '2': count_status[2], '3': count_status[3]+count_status[4]}\n", - "Value_status = dict_status.values()\n", - "\n", - "Key_status = [\"Active\",\"Resigned\",\"Retired\",\"Anomaly Information\"]\n", - "print(Value_status)\n", - "explode = (0, 0,0,0.1)\n", - "\n", - "fig2, ax2 = plt.subplots()\n", - "ax2.pie(Value_status,explode=explode,labels = Key_status, autopct='%.2f%%', startangle=90)\n", - "plt.title(\"Status\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 278 - }, - "id": "dKO21KiiZIu2", - "outputId": "13ca9e2c-c93e-4627-cf04-8ee081c06e86" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[]" - ] - }, - "metadata": {}, - "execution_count": 66 - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "df_year = pd.DatetimeIndex(df['HIRED']).year\n", - "dict_year = collections.Counter(df_year)\n", - "dict_year = collections.OrderedDict(sorted(dict_year.items()))\n", - "Value_year = list(dict_year.values())\n", - "Keys_year = list(dict_year.keys())\n", - "\n", - "plt.title(\"The hiring rate for every years\")\n", - "plt.xlabel('Year')\n", - "plt.ylabel('Frequency')\n", - "plt.grid(color='silver', linestyle=':', linewidth=1)\n", - "plt.plot(Keys_year, Value_year)" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 278 - }, - "id": "sclqyTvMpSXh", - "outputId": "ef61537e-0e7a-467d-ea78-6f2e70a437ed" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[]" - ] - }, - "metadata": {}, - "execution_count": 67 - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "bd = pd.DatetimeIndex(df['BIRTHDAY']).year\n", - "dict_bd = collections.Counter(bd)\n", - "dict_bd = collections.OrderedDict(sorted(dict_bd.items()))\n", - "Value_bd = np.array(list(dict_bd.values()))\n", - "Keys_bd = np.array(list(dict_bd.keys()))\n", - "Keys_bd =[2022-x for x in Keys_bd]\n", - "\n", - "plt.xlim([22, 62])\n", - "plt.title(\"Age of employee\")\n", - "plt.xlabel('Age')\n", - "plt.ylabel('Frequency')\n", - "plt.grid(color='silver', linestyle=':', linewidth=1)\n", - "plt.plot(Keys_bd, Value_bd)" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Map" - ], - "metadata": { - "id": "OvRUS5AtnQ0c" - } - }, - { - "cell_type": "markdown", - "source": [ - "***Please use colab to see map***" - ], - "metadata": { - "id": "S2CFE08mri7Q" - } - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "L94m2DNNuKfM", - "outputId": "8287105b-d488-4233-b2ec-1657b5da50e5" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - " country count\n", - "0 South Korea 2\n", - "1 Germany 4\n", - "2 Pakistan 4\n", - "3 Austria 5\n", - "4 Ukraine 2\n", - "5 Norway 2\n", - "6 Mexico 5\n", - "7 United States 4\n", - "8 Sweden 5\n", - "9 Philippines 5\n", - "10 Vietnam 6\n", - "11 Netherlands 4\n", - "12 Costa Rica 5\n", - "13 India 3\n", - "14 Colombia 2\n", - "15 South Africa 3\n", - "16 Russian Federation 3\n", - "17 United Kingdom 3\n", - "18 China 2\n", - "19 Indonesia 3\n", - "20 Italy 4\n", - "21 Peru 6\n", - "22 Ireland 2\n", - "23 Turkey 3\n", - "24 Brazil 3\n", - "25 Spain 1\n", - "26 Australia 2\n", - "27 Singapore 3\n", - "28 Belgium 1\n", - "29 New Zealand 1\n", - "30 Nigeria 1\n", - "31 France 1\n" - ] - } - ], - "source": [ - "dict_na = pd.DataFrame(collections.Counter(df['NATIONALITY']), index=[0])\n", - "\n", - "data = pd.DataFrame(dict_na).T.reset_index()\n", - "data.columns=['country', 'count']\n", - "\n", - "print(data)" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 542 - }, - "id": "P-lUFc_IzPYI", - "outputId": "180f1177-4b1d-46ea-8275-5d1a01800a84" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "
\n", - "
\n", - "\n", - "" - ] - }, - "metadata": {} - } - ], - "source": [ - "database = px.data.gapminder().query('year == 2007')\n", - "\n", - "df_na = pd.merge(database, data, how='inner', on='country')\n", - "\n", - "\n", - "fig = px.choropleth(df_na,\n", - " locations=\"country\",\n", - " locationmode=\"country names\",\n", - " color=\"count\",\n", - " color_continuous_scale=px.colors.sequential.Purp,\n", - " projection=\"natural earth\"\n", - ")\n", - "\n", - "fig.update_layout(\n", - " title_text = 'Employee Nationality',\n", - " geo=dict(\n", - " showcoastlines=False,\n", - " )\n", - ")\n", - "\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## After migration" - ], - "metadata": { - "id": "jlFu8Rf2muF-" - } - }, - { - "cell_type": "markdown", - "source": [ - "### Chart" - ], - "metadata": { - "id": "56bjc31Qnljd" - } - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": { - "id": "MEEYzmSb1u9B" - }, - "outputs": [], - "source": [ - "data_result = pd.read_csv(\"/content/data-devclub-1_result.csv\")\n", - "df_result = pd.DataFrame(data_result)" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": { - "id": "IazK_5dj2URC", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 426 - }, - "outputId": "125a3a92-e112-4e79-8647-c63986911df8" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - " EMPID PASSPORT FIRSTNAME LASTNAME GENDER BIRTHDAY NATIONALITY \\\n", - "0 3 JUI65YBK7AF Jada Bender 0 28-05-1963 Pakistan \n", - "1 5 AZE20CSG4MU Lillian Reese 0 03-12-1982 Ukraine \n", - "2 23 NFH65BYM0VB Armand Horn 0 24-05-1987 Netherlands \n", - "3 29 CMK62UAD3VK Rowan Leonard 1 15-07-1974 Germany \n", - "4 33 EWD45RJW5YK Carter Velasquez 0 23-11-1967 Indonesia \n", - "5 34 BFS82MEY3CX Selma Bush 0 26-03-1972 Italy \n", - "6 50 MRC33GHJ2KW Calvin Roach 1 16-04-1999 Mexico \n", - "7 66 WKV12UQC6QF Zachery Valentine 0 04-06-1971 Philippines \n", - "8 80 EUC74ENE9ZK Ryan Rush 0 13-06-1998 Italy \n", - "9 93 UXL43IOW6OV Honorato Maxwell 1 09-03-1982 France \n", - "10 95 OUP31WOE2IE Dara Wilcox 1 29-06-1996 Singapore \n", - "11 97 SUF73DKV4QE Dante Hart 0 21-12-1999 Peru \n", - "\n", - " HIRED DEPT POSITION STATUS REGION \n", - "0 11-02-2001 Pilot Pilot 1 Canada \n", - "1 19-05-2002 Flight Planning Steward 1 Canada \n", - "2 19-06-2007 Aircraft Maintenance Airhostess 1 Ocenia \n", - "3 27-03-2004 Aircraft Maintenance Pilot 1 Ocenia \n", - "4 27-02-2005 Flight Planning Pilot 1 APAC \n", - "5 10-10-2008 Flight Attendance Airhostess 1 USA \n", - "6 18-03-2011 Flight Attendance Steward 1 Europe \n", - "7 25-08-2011 Flight Attendance Steward 1 Middle East \n", - "8 31-07-2019 Aircraft Maintenance Pilot 1 Middle East \n", - "9 04-02-2017 Aircraft Maintenance Airhostess 1 Europe \n", - "10 18-05-2011 Flight Attendance Airhostess 1 Canada \n", - "11 22-02-2016 Pilot Pilot 1 Europe " - ], - "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", - " \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", - "
EMPIDPASSPORTFIRSTNAMELASTNAMEGENDERBIRTHDAYNATIONALITYHIREDDEPTPOSITIONSTATUSREGION
03JUI65YBK7AFJadaBender028-05-1963Pakistan11-02-2001PilotPilot1Canada
15AZE20CSG4MULillianReese003-12-1982Ukraine19-05-2002Flight PlanningSteward1Canada
223NFH65BYM0VBArmandHorn024-05-1987Netherlands19-06-2007Aircraft MaintenanceAirhostess1Ocenia
329CMK62UAD3VKRowanLeonard115-07-1974Germany27-03-2004Aircraft MaintenancePilot1Ocenia
433EWD45RJW5YKCarterVelasquez023-11-1967Indonesia27-02-2005Flight PlanningPilot1APAC
534BFS82MEY3CXSelmaBush026-03-1972Italy10-10-2008Flight AttendanceAirhostess1USA
650MRC33GHJ2KWCalvinRoach116-04-1999Mexico18-03-2011Flight AttendanceSteward1Europe
766WKV12UQC6QFZacheryValentine004-06-1971Philippines25-08-2011Flight AttendanceSteward1Middle East
880EUC74ENE9ZKRyanRush013-06-1998Italy31-07-2019Aircraft MaintenancePilot1Middle East
993UXL43IOW6OVHonoratoMaxwell109-03-1982France04-02-2017Aircraft MaintenanceAirhostess1Europe
1095OUP31WOE2IEDaraWilcox129-06-1996Singapore18-05-2011Flight AttendanceAirhostess1Canada
1197SUF73DKV4QEDanteHart021-12-1999Peru22-02-2016PilotPilot1Europe
\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ] - }, - "metadata": {} - } - ], - "source": [ - "display(df_result)" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": { - "id": "IxEwec_r3KE7" - }, - "outputs": [], - "source": [ - "data = pd.read_csv(\"/content/data-devclub-1.csv\")\n", - "df = pd.DataFrame(data)" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": { - "id": "44QO0nnw2nSI", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 261 - }, - "outputId": "b0cfb55c-755d-4e46-c410-4ce2db4f99f3" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": {} - } - ], - "source": [ - "x = [len(df_result),len(df)]\n", - "y = [\"Remaining\",\"Out\"]\n", - "\n", - "fig, ax = plt.subplots()\n", - "explode = (0, 0.1)\n", - "ax.pie(x,labels = y,explode=explode, autopct='%.2f%%', startangle=90)\n", - "\n", - "plt.title(\"Transfer\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "source": [ - "count = collections.Counter(df_result['GENDER'])\n", - "count = collections.OrderedDict(sorted(count.items()))\n", - "\n", - "Value = count.values()\n", - "\n", - "print(count)\n", - "Key = [\"Male\",\"Female\"]\n", - "\n", - "fig, ax = plt.subplots()\n", - "ax.pie(Value,labels = Key, autopct='%.2f%%', startangle=90)\n", - "plt.title(\"Gender\")\n", - "plt.show()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 278 - }, - "id": "FKWGKQa-jqcx", - "outputId": "f901879c-ad94-46bc-d600-52fdf81ee038" - }, - "execution_count": 74, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "OrderedDict([(0, 8), (1, 4)])\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAO8AAAD0CAYAAABzYXHhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAcMElEQVR4nO3deZgU1bnH8e/bs7I2IIsIarsAIkTg4oqyxd12iXEJJhrXuCbXRG+SvtFrWo3axN0oiihGTbzxamLQNMa4guKKoiiiRrFVFNkZYJjp9dw/qgYbnJ2eOVXd7+d5+pme7q6qt2fq16equuocMcaglPKfgO0ClFLto+FVyqc0vEr5lIZXKZ/S8CrlUxpepXxKw1sCROQMEXnJdh2qsDS8FonIFBF5TURqRWSFe/9CERHbtSnv0/BaIiKXArcC1wPbAwOA84EDgUqLpW1BRMps16Aap+G1QESCwFXAhcaYR40xG4xjgTHmR8aYpIhUicgNIvK5iCwXkbtEpIs7/SQRWSoil7ot9jIROTNv/tuJyOMisl5EXgd222r5e4jI0yKyRkQ+FJGT8577o4jcKSKzRaQWmNw5fxXVVhpeOw4AqoBZzbwmBgwFRgO7A4OAK/Ke3x4Iuo+fDdwhIr3d5+4A6oGBwFnuDQAR6QY8DTwE9AemANNEZM+8ef8QuAboAei+skdpeO3oC6wyxmQaHhCRl0VknYjUichE4FzgF8aYNcaYDcC1OEFrkAauMsakjTGzgY3AMHcz9wTgCmNMrTHmPeD+vOmOBhLGmPuMMRljzALgr8BJea+ZZYyZZ4zJGWPqO+D9qwIot11AiVoN9BWR8oYAG2PGAYjIUpz9367Am3nHrgTI3/9cnR9+YBPQHeiH83/9Iu+5z/Lu7wzsJyLr8h4rBx7M+z1/WuVRGl47XgGSwHE4rd7WVgF1wAhjzJdtnPdKIAPsCHzgPrZT3vNfAHOMMYc2Mw+91MwHdLPZAmPMOuBKnH3NE0Wkh4gERGQ00A3IATOAm0WkP4CIDBKRw1sx7yzwNyAqIl3dfdnT817yD2CoiJwmIhXubR8RGV7gt6k6mIbXEmPM74FLgF8By93bdODXwMvuz4+BV0VkPfAMMKyVs/8pzib018AfgfvylrsBOAxn//kr9zVTcQ6gKR8RvRhfKX/Sllcpn9LwKuVTGl6lfErDq5RPaXiV8ikNr1I+peFVyqc0vEr5lIZXKZ/S8CrlUxpepXxKw6uUT2l4lfIpDa9SPqXhVcqnNLxK+ZSGVymf0vAq5VMaXqV8SsOrlE9peJXyKQ2vUj6l4VXKpzS8SvmUhlcpn9KBxnwmFImX4YxnVAFUureKGyru5MSyFw2Qwhn+M+XeaonW6LAYRUjD60GhSLwfsAuwq3vLv78jWw71CcAQ+fJFYHwjs6snGvwMWOLePs27v4RozYaOeA+q42l4LQpF4tXAQcB3geF8E9QeBVxMNc4AZY0PUhYNruabMC/EGdBsPtGaXAFrUB1ABxrrRKFIXIAxwCHAoTjBrS7EvGdVXv7iqMCSxlre9lgLPA88DTxDtObjAs1XFZC2vB0sFInvjBPUQ4CDgb52K2qV3sD33RtEgwkaggzPEq1Zba0ytZmGtwOEIvFdgPOB44EhlssphBDwE/eWIxpcAPwFmEm0Zo3NwkqZhrdAQpF4ADgKuBA4nOL9Gi4AjHVvVxMNPgzcSbTmNbtllR4N7zZyjwyfDZyH00KVkmrgdOB0osE3gTuBh4jW1NktqzRoeNspFImPw2llTwSqLJfjBWOBe4DriQbvB6YRrfm35ZqKmoa3DdwTJE4HfgaMtlyOV/UGfg5cTDT4LHAT0ZonLddUlIp1v6zgQpH4ccB7wL1ocFtDcI6wzyYafI5ocKztgoqNtrwtCEXi+wLXAxNs1+Jjk4E3iAb/AvyGaE3Ccj1FQcPbhFAkPgi4AZhiu5YiIcApwPeJBm8FriJaU2u5Jl/TzeathCLx8lAkfinwARrcjlAF/ApYTDR4gu1i/EzDmycUiR8ELMBpcbtbLqfY7Qg8SjT4JNHgbraL8SMNLxCKxKtCkfg0YC4w0nY9JeYIYBHR4MW2C/Gbkg9vKBIPAfOAC3D2y1TnqwJuIRr8P6LBQl5RVdRKOryhSPxo4C2cEwyUfScB84kGdeunFUoyvKFIvCwUiV8HPI5zUoHyjqHAa0SDp9kuxOtKLryhSHwAzuVtEXQz2au6Ag8QDU4nGtRTT5tQUuF1jya/hXPSgPK+c4F5RIMh24V4UcmENxSJ/xdO7xA72K5FtclY4C2iwaNtF+I1RR/eUCQuoUh8Bs4pjnpGmT/1Bh4nGrzQdiFeUtThdfuMuhs4x3YtapsJcLsG+BtFG14NblHSAOcpyvBqcIuaBthVdOHV4JYEDTBFFl4Nbkkp+QAXTXg1uCWppANcFOHV4Ja0kg1wUYQX+B80uKWsIcAldSKH78MbisQPA35ruw5lneCcD72L7UI6i6/DG4rEBwN/xufvQxVMb+CRUrmYwbcrfSgSrwAewR8Dd6nOMxa41XYRncG34cXpZ2p/20UoTzqvFK4H9mV4Q5H4ycB/2q5Dedpd7e2RQ0SyIvJ23i1U2NK2WFZCRNq19ei78IYi8WE4Y+Io1ZyuwF/b2SdWnTFmdN4tUeDaCsJX4Q1F4s4/BLSTMtUaQ3GGp9lmIjJWROaIyJsi8pSIDHQff0FEbhaR+SKyWET2EZG/ici/ReR3edP/3Z12kYic28QyThWR193WfrqIlDVXk6/CC9wFjLBdhPKVk9rRrWyXvE3mx0SkAvgDcKIxZiwwE7gm7/UpY8zeOOvnLOAinC6EzxCR7dzXnOVOuzfwn3mPAyAiw4EfAAcaY0YDWeBHzRXpm4vT3YG+iv4ghOoQMaLBfxCt+aSVr69zAwSAiIzECePTIgJQBizLe/3j7s93gUXGmGXudEtwOpdfjRPY493X7QgMcR9vcDDOkfI33GV0AVY0V6QvwutuLpfE4X/VIaqB24Ej2zm94ITygCaeT7o/c3n3G34vF5FJOCMmHmCM2SQiL7g1bb2M+40x/93aovyy2Xw5sLPtIpSvHUE0+P12Tvsh0E9EDgAQkQoRacvuWxBY6wZ3Dxr/ivNZ4EQR6e8uo4+INLvOez68oUh8D+BS23WoonAL0WC3tk5kjEkBJwJTReQd4G1gXBtm8U+cFngxEANebWQZ7+M0Uv8SkYU43RMPbG6mfthsvh2otF2EKgo7AlcAv27uRcaYbw0yZ4x5m0bGaDbGTMq7/wLwQmPP0cQmuzEmlHf/YeDh5mrL5+mWNxSJH4OzI69UoVxcLP1Aeza8oUi8DJhquw5VdKrY8mse3/JseIGzgeG2i1BF6RSiQd8PLufJ8IYi8W5A1HYdqmgJTif8vubJ8AK/oIUjbUpto8lEg0fYLmJbeC687nW6P7VdhyoJl9guYFt4LrzACcAA20WoknAI0eAQ20W0lxfDW3K9ACprBLjAdhHt5anwhiLxkcB423WoknIG0WAX20W0h6fCi7a6qvP1Bk6xXUR7eCa8oUi8B3Cq7TpUSfJlo+GZ8OJcq6s9ZCgbxhIN7mu7iLbyUnh9e+BAFQXftb6euKooFIlPwOmpQPlAfcYw4b5aklnI5ODE4eVcObmas2fVMX9ZFmNg6HYB/vi9LnSvlC2mff3LLOc+UQeAAaITqzh+eEWT8wT40d828e7yHEcPLefag53Hfjc3ycj+Ab63R0Wh3tYPiAYvIVqzplAz7GieCC8+/NQrZVVl8Nzp3eheKaSzhoPuq+XIIRluPqKanlVOWC95qp7bX08ROWjLwQtG9g8w/9xulAeEZRtyjLqrlmOGlTc5z64VQpdyYeEF3Tn0wVpq6g2b0obXvsxy+YSCDoxQDZyF0x+4L1jfbA5F4tXAcbbrUK0nIptb1HQO0lnnC9OG4BpjqEsbpJFpu1YI5QHnmfoMiDQ/z4oA1GUMOWNIZ6EsAFc8n+TKSR0yosmUjphpR/FCy3sQ3+7PR3lcNmcYe3ctH6/JcdE+lew32FmVzpxVx+x/Z9izX4AbD2/83/ra0gxnPV7PZ+tyPHh8l81hbmqe/boG+I/ptZy2VwUfr8mRM/AfA5vtFbW9xhAN9vHLprMXwnuo7QJU25UFhLfP7866esPxD2/ivRVZRvYv477jupDNGX72ZD0Pv5fmzDHf7gRlv8HlLLqwO4tXZjn973UcOaSc6nJpcp63HPHNh8Ax/7uJ6UdXc83cJO8sz3LoruX8ZGzBOloJ4HT+8EihZtiRrG824/Sqp3yqV7UwOVTOPz/ObH6sLCBMGVnBXxdnmpkShvcro3ul8N6KXIvzBJj1QZqxAwNsTBk+WZvj/07qyqOL02xKm8K9IR+tj1bDG4rE+wJjbNag2m5lbY519U5g6tKGp5dkGLZdgI/XOCE0xvD4hxn26Pvt1evTtTkyOWfaz9bl+GBVjlAvaXSe+dOns4ZbXkvxqwOrqEuzeX86m4NUtqBvzzdbgrY3mw+GRo9rKA9bttFw+t83kc1BzsDJIyoIDy1n/H2bWJ80GAOjtg9wZ9g5ZfjxD9PM/yrLVZOreenzDLF5KSoCEBCYFq6mb9cAC5dnvzXPo4d+8zXQHW+kOH1UBV0rhL0GBNiUMXznzo0ctXs5vaoLugrtQjS4Wxs6aLdGjCnoJkebhCLxGcA51gooIrMqL39xVGCJXtRRGOcTrZluu4iW2N7n9c0miiopvlgvrYU3FInvjo6CoLxpMtGg7YatRTYL9MWnmypJfXAG/fI0m+H1zSF5VZI8v37aDO9eFpetVEs8v35aCW8oEg+g+7vK23a1XUBLbLW8OwIFu5ZLqQ6g4W2C5/8wquT1JRr0dM8utsK7i6XlKtUWnl5PteVVqmmeXk81vEo1zdPrqYZXqaZ5ej3VfV6lmubp9bTTw+uOvdu/s5erVDtoy7sVT3+aKZUnRDTo2evNbYR3OwvLVKo9qoGutotoio3wFqy3MKU6gWfXVw2vUs3z7PpqI7x6TrPyE8+ur9ryKtU8z66vNsJru8fKovRhbnBhO0BVDbTlzaMrWQf4Veb8SWemfvlOralabLuWItN8z/EW2Qhv2sIyS8LzuTGjRibvHXZb5nsv5YystF1PkfDs+mojvCkLyywZhkDgpszJB+2VnFE1N/udOcZ4d+XzCc+urxreIrWRrj1/nP7viYenpi79yvR53XY9PubZ9VU3m4vcR2bHXcYlb9/3Z6mfzk+aCs8P4eFBnl1fbYS3xsIyS94TuXF775mcufMfM4fNzRnW2a7HJzLAJttFNMVGeBMWlqmALGXl0cwZE8Ym78q9mRsy1xg98t+CL4jWePZv1OnhTcTCa0A/+W1aS88+J6SunHBc6uolq02PBbbr8bAltgtojq2L8T+1tFyVZ6HZbcjY5PQxl6XPei1tyr6wXY8HaXgboeH1kD9nD9lvRHJm/79mx88xho226/EQT6+ntsLr6U+0UpSiourS9AUTD0jeXrs4t+M8Y7A3cLN3eHo91fCqLXxNnwFHpqYeeEr6svfXmy7v2a7HMk+vpxpe1ahXcyNG7JW8Z0QsPWVe1gSW2a7HEk+vp7rPq5ohclf22AO/k7yn51PZsXOMod52RZ1oPdGa1baLaI6t8CaAnKVlqzbaRHW389KXTpyUumlVIjfgFdv1dBLPNzBWwpuIhVPAlzaWrdrvM7P94Empmw84O3Xp25tM5Ye26+lgnt5kBruDa+t1pz71bG7s6BHJmUOmZY59MWdkle16OsgHtgtoic3wPmdx2WobGQKB32emjB+VvLtiXnZEMV56+KztAlpiM7xPW1y2KpANdAv+KH3ZxCNSsaVfm97zbddTIHXAS7aLaInN8C4APH00T7Xeh2anXfZP3rH3L1IXzE+acs8f7GnBS0RrkraLaIm18CZiYYMPNk1U2zyWG7/3iOTMwQ9mDpljjG8v//TFVqEYY+8suFAkfg4wo9DzzdVvZPWTt5Fa9TkAfY+6mKpBw1n/5hNseCuOSIAuu+1N78lntXralbOmkl6z1H1NLYHqbuxw5h+oX/o+a/41DSkrp+8xv6SizyBy9RtZOWsq/U++EhGbGzd2bUfNqnsrb1g8Sj45UMTqVl5bjSFa87btIlpiO7w70wHX966K30TV4BH0GHU4JpvGpJOkli+h5pWH6X9iFCmvIFu7jrJuvVo1baC6+xavWfPcPQSqutHrwFNY8dg19Dn4PDLrl7Ppo1fo891zWPvcvXTZfR+qd9qr0G/Nl0bLxx/eV/n7ut6ycbTtWlphJTCAaI3nz+22+mmYiIU/Az4u5DxzyVrqv1hE970OA0DKKghUd2fDgtn03P8kpNzphrex4DY1bT5jDJs+eIluwyc4rwmUYzJJTDqJBMpJr11GZsMqDW6et83uw8Yk7x59RfqMV9OmbKntelrwrB+CC97oAP0ZYPdCzSyzbjllXXuyevYtpFZ8StX2u9P74HNJr/2S5BeLWDf3AaS8kt6Tz6Jq4NBWTRuorN78muTSRZR160VFn0EABPc/iVX/uAmpqKRv+FLWPn8vvcafWqi3U1QeyB62/8PZSfVTK+6ec1zg5b1F6Ga7pkY8Y7uA1vLCfkhBDw6YXJbU15/QY8xR7HDmbUhFFetffQRyWXL1G9j+tBvpPelMVs6ayta7DE1Om6f2/TmbW12AygG7MvDHN7L9KdeRqfmasu59AFg5ayqrnriBbO3aQr4930tSWf3z9E8nHpi8bf1HuUEve/DSQ18crAJvhPc5CjiKQnmPvpT16EvVDsMA6DrsQFLLP6GsR1+6Dh2HiFC1wzBEhFzd+lZN28Dksmz66BW67jGBrRljqHn5YYLjprBu3kP0nnQm3Ucdzvo3nyjUWysqX9F34GGp68edmv7Nog2myyLb9bg+Ilrzue0iWst6eBOx8DrghULNr6x7b8p79iW92tm1qv/sHSr67kTXIftT//lCANJrvsRkMwS69GzVtA3qE29Tsd1gynv2/dZya997ji677k1Zlx6YdBJEQMS5r5o0Lzdy5HeS9+x5Q/qkeVkjyy2X85jl5beJ1aPNDUKR+AnAo4WaX2r5Elb/8zZMNkN5r+3Z7qifE6ioYvXsW0mtWIKUVdBr8ll02XkUmQ2rWf3P2xhw0pVNTlvmHrRaFb+Zqh2G0WPMUVssL5euZ8WjVzLg5KuRsnLqv3iPNf+685uvj7YbXKi3VtS6Ubfx1orb5x8cWHCACFWdvPgcsDvRGt+cYOKV8JbjfGU0yHIpygNCsuyLBypiX+0UWLlfJy52NtGacCcub5tZ32wGSMTCGTrgZA3lTwkzcMcJqVv3Oy/18wV1pvLfnbTYaZ20nILxRHhdd+Ph4RRV53sqt++YEcmZu07PHP1izsiaDlzUp8CTHTj/DuGZ8CZi4WXA323XobwlR6DsuswPx49JTg+8mhs+15gO+YCfTrTGdz27eCa8Lt9tuqjOUUP3XlNS/zPhqNR1n60wvQp56WESuLeA8+s0njhglS8Uib8PDLddh/K2E8vmvHFt+b39KiUT2sZZ/YlozWmFqKmzea3lBbjTdgHK+x7NTtxnRHLmDg9lvjvHGNa3PEWTfLu158Xw3g/U2i5CeV+a8srfZM6ZuE9yWnJhbpcXjWlzj6QLiNb4tjdMz4U3EQuvxwmwUq2yil79jk1dM/6EVPSjdabbO22Y9A8dVlQn8Fx4Xb9DW1/VRm+ZoXuMTs4YdVX6tFcyJtBS18KLgQc6o66O4snwul8b3WS7DuVPM7NHHjAyeW+fJ7L7v2BMkyPbR7w8cHZreO5oc4NQJN4d50L9AbZrUf41iJXL7q+c+unuga/G5T08l2jNRGtFFYgnW16ARCy8EbjSdh3K376k38BDUjeM+3Hq1wtrTfViwAD/ZbuuQvBseF0z0JEVVAHMzY3aa0Ty3j2uS59yE9GaN2zXUwitDq+IGBH5U97v5SKyUkT+0cJ0k1p6TVPcCxYuas+0Sn2bbJyePaZojqW0peWtBUaKSBf390PphMHCErHw88BDHb0cVRJ+m4iFv7JdRKG0dbN5NtBwzeMpwP82PCEi+4rIKyKyQEReFpFhW08sIt1EZKaIvO6+7rhWLvdS2KazaJR6F59/r7u1tob3L8AUEakG9gJey3vuA2C8MWYMcAVwbSPTXwY8Z4zZF5gMXC8iLfYgmIiFv3bnqVR7GOACdzesaLSp61djzEIRCeG0urO3ejoI3C8iQ3D+WBWNzOIw4FgRaTjaVw3sROsOSt0OnAyMa+mFSm3lzkQsPM92EYXWnqPNjwM3kLfJ7LoaeN4YMxI4BieYWxPgBGPMaPe2kzGmVUeTE7FwFvgBTo/2SrXWfOAS20V0hPaEdyZwpTHm3a0eD/LNAawzmpj2KeBnIiIAIjKmLQtOxMJLgR9Cm09AV6VpDXBSIhYuyi482xxeY8xSY8xtjTz1e+A6EVlA05vjV+NsTi8UkUXu722SiIWfAaJtnU6VHAOcloiFE7YL6SiePT2yOaFIXHD2uY+wXYvyrGsTsfBltovoSF4/w6pR7ti+pwK+6d1edarnKIFvJ3zZ8jYIReL7Ai8ClbZrUZ7xFTAmEQuvsF1IR/Nly9sgEQu/TpEeSVTtkgF+UArBBZ+HFyARC9/Bt7+2UqUpkoiFX7JdRGfxfXhdPwFK5p+mGjUjEQvfaLuIzlQU4U3EwrXAkWiAS9UM4DzbRXS2oggvbL54XwNcemYA57nfQJSUogkvaIBLUMkGF4osvKABLiElHVwowvCCBrgElHxwoUjDCxrgIqbBdRVteEEDXIQ0uHmKOrywOcBHoCdy+FkO+C0a3C34+tzmtgpF4hfhjMSg50L7x0rgh+6loCpPSYUXNl/M8AhO9zvK214BTnY7YVBbKfrN5q25FzOMAZ60XYtq1q3ARA1u00qu5W3gXtB/OU6vHCX3IeZhG4CzE7HwI7YL8bqSDW+DUCR+CE6n7v1s16J4DzghEQt/ZLsQPyj5Fsc9EDIGeNl2LSXuQWA/DW7rlXzL2yAUiZfhjIt0NdDTcjmlJAFcnIiFH7ddiN9oeLcSisS3B27E6WJWdZwUTv/fv0vEwnW2i/EjDW8TQpH4ZJxRGva0XUsReha4KBELf2i7ED/T8DYjFImXA+fgHJEeYLeaovA+8OtELNyuIV/VljS8rRCKxLsDv8QZrbDFgdHUtyzD6Yr1PnfYGlUAGt42cPeHLwdOB7pbLscPvsbZ9bg5EQtvsl1MsdHwtkMoEu8J/Bi4AN0nbsxcYBrwt0QsnLZdTLHS8G6jUCQ+CbgQ+B6ND2taKjbgfFc7LRELL7JdTCnQ8BZIKBIfiNMF7bnAIMvldKZ3cVrZP7mXX6pOouEtMPcI9bE4m9STgTK7FXWIeuAxnFZWOzqwRMPbgUKReC+cAB8KHAIMsVtRu+WABcAzwNPAvEQsXG+3JKXh7UShSHxnnBAfChwM9LVbUbMSOEF9Bng2EQuvtluO2pqG1xL3ksTRfBPkPYDB2LlYJAV8BizEbV0TsfAnFupQbaDh9ZBQJF4J7AzsCuzi/sy/32sbZr8cWAJ86v7Mv780EQvntmHeygINr4+EIvHeOEHuifO1VKV7qwDKgTROK9rwMwWsAZboSRLFR8OrlE+V/MX4SvmVhlcpn9LwKuVTGl6lfErDq5RPaXiV8ikNr1I+peFVyqc0vEr5lIZXKZ/S8CrlUxpepXxKw6uUT2l4lfIpDa9SPqXhVcqnNLxK+ZSGVymf0vAq5VMaXqV8SsOrlE9peJXyKQ2vUj6l4VXKpzS8SvmUhlcpn9LwKuVT/w8kfttvwbveXwAAAABJRU5ErkJggg==\n" - }, - "metadata": {} - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Map" - ], - "metadata": { - "id": "Rk_C4oWonXlO" - } - }, - { - "cell_type": "markdown", - "source": [ - "***Please use colab to see map***" - ], - "metadata": { - "id": "os5OCEUprSBD" - } - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": { - "id": "gglCO2Rl5llG", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "10007e6d-689f-40d2-d90e-501f70f8ca5d" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - " country count\n", - "0 Pakistan 1\n", - "1 Ukraine 1\n", - "2 Netherlands 1\n", - "3 Germany 1\n", - "4 Indonesia 1\n", - "5 Italy 2\n", - "6 Mexico 1\n", - "7 Philippines 1\n", - "8 France 1\n", - "9 Singapore 1\n", - "10 Peru 1\n" - ] - } - ], - "source": [ - "dict_na_result = pd.DataFrame(collections.Counter(df_result['NATIONALITY']), index=[0])\n", - "\n", - "data_result = pd.DataFrame(dict_na_result).T.reset_index()\n", - "data_result.columns=['country', 'count']\n", - "\n", - "print(data_result)" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": { - "id": "6NSU1R0t563t", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 542 - }, - "outputId": "f598775e-5b19-41c9-8161-618539306b7f" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "
\n", - "
\n", - "\n", - "" - ] - }, - "metadata": {} - } - ], - "source": [ - "database = px.data.gapminder().query('year == 2007')\n", - "\n", - "df_na_result = pd.merge(database, data_result, how='inner', on='country')\n", - "\n", - "\n", - "fig = px.choropleth(df_na_result,\n", - " locations=\"country\",\n", - " locationmode=\"country names\",\n", - " color=\"count\",\n", - " color_continuous_scale=px.colors.sequential.Purp,\n", - " projection=\"natural earth\"\n", - ")\n", - "\n", - "fig.update_layout(\n", - " title_text = 'Remaining Employee Nationality',\n", - " geo=dict( showcoastlines=False )\n", - ")\n", - "\n", - "fig.show()" - ] - } - ], - "metadata": { - "colab": { - "provenance": [], - "collapsed_sections": [], - "authorship_tag": "ABX9TyMDF8S3sb/9SLZsbcV1jI2a", - "include_colab_link": true - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file From 4e683ceee4bbfed14741ec90cd759c4af3bc527d Mon Sep 17 00:00:00 2001 From: Jiruschai Anuntabundit <64542489+JirusAnun@users.noreply.github.com> Date: Sun, 9 Oct 2022 20:38:20 +0700 Subject: [PATCH 19/22] =?UTF-8?q?=E0=B8=AA=E0=B8=A3=E0=B9=89=E0=B8=B2?= =?UTF-8?q?=E0=B8=87=E0=B9=82=E0=B8=94=E0=B8=A2=E0=B9=83=E0=B8=8A=E0=B9=89?= =?UTF-8?q?=20Colaboratory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data-visualization.ipynb | 104 +++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/data-visualization.ipynb b/data-visualization.ipynb index d7978bb..fde2455 100644 --- a/data-visualization.ipynb +++ b/data-visualization.ipynb @@ -7,7 +7,7 @@ "colab_type": "text" }, "source": [ - "\"Open" + "\"Open" ] }, { @@ -30,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 59, "metadata": { "id": "j1crNZld6bnW" }, @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 60, "metadata": { "id": "ypPBntDw7KvQ" }, @@ -67,14 +67,14 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 61, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 468 }, "id": "dV1zXU1G7Xo8", - "outputId": "ef9469e1-3f9e-4f1e-8172-e9d75244cef3" + "outputId": "5ce429b3-a1fa-49a3-d19b-8ddb6b3b31e2" }, "outputs": [ { @@ -124,7 +124,7 @@ ], "text/html": [ "\n", - "
\n", + "
\n", "
\n", "
\n", "