Switch to unified view

a b/development/csv2db/main.py
1
import sys
2
import argparse
3
import csv2db
4
5
6
def main(args):
7
    parser = argparse.ArgumentParser(description='To get arguments')
8
9
    parser.add_argument('-pa',
10
                        '--path',
11
                        type=str,
12
                        help='Path of the CSV file',
13
                        required=True)
14
15
    parser.add_argument('-ps',
16
                        '--password',
17
                        type=str,
18
                        help='MySQL password',
19
                        required=True)
20
21
    parser.add_argument('-db',
22
                        '--database',
23
                        type=str,
24
                        help='Database name',
25
                        required=True)
26
27
    parser.add_argument('-t',
28
                        '--table',
29
                        type=str,
30
                        help='Table name',
31
                        required=True)
32
33
    parser.add_argument('-ho',
34
                        '--host',
35
                        type=str,
36
                        default='127.0.0.1',
37
                        help='Host ip address',
38
                        required=False)
39
40
    parser.add_argument('-p',
41
                        '--port',
42
                        type=str,
43
                        default='3306',
44
                        help='Port of MySQL',
45
                        required=False)
46
47
    parser.add_argument('-u',
48
                        '--user',
49
                        type=str,
50
                        default='root',
51
                        help='MySQL user',
52
                        required=False)
53
54
    parser.add_argument('-c',
55
                        '--columns',
56
                        nargs='+',
57
                        type=str,
58
                        default=None,
59
                        help='Array of desired columns names. Default is all columns',
60
                        required=False)
61
62
    args = parser.parse_args()
63
64
    to_db = csv2db.CSV2DB(args.path,
65
                          args.password,
66
                          args.database,
67
                          args.table,
68
                          args.host,
69
                          args.user,
70
                          args.port,
71
                          args.columns)
72
73
    print('Select columns of dataframe')
74
    to_db.select_column()
75
    print('Remove redundant newlines')  
76
    to_db.rm_multi_newline()
77
    print('Modify columns name for database')  
78
    to_db.norm_column_name()
79
    print('Check strings length in the dataframe')  
80
    to_db.check_length()
81
    print('Create a new database')  
82
    to_db.create_database()
83
    print('Create a database engine')  
84
    to_db.create_engine()
85
    print('Convert dataframe to MySQL database')  
86
    to_db.to_sql()
87
    print('Add primary key to the database')  
88
    to_db.add_primary_key()
89
    print('Change name column type to VARCHAR from TEXT')  
90
    to_db.change_type()
91
92
93
if __name__ == '__main__':
94
    main(sys.argv[1:])