2323class exceltoDBtable :
2424 # Available for sql server and mysql now
2525 def __init__ (self ,filePath ,server = False ,usrID = False ,pwd = False ,database = False ,save2tableName = False ):
26- if not any ([server ,database ,usrID ,pwd ]):
26+ if not any ([server , database , usrID , pwd ]):
2727 raise Exception ("Partially inputs, please check your inputs..." )
28- else :
29- self .filePath = filePath
30- self .server = server
31- self .database = database
32- self .usrID = usrID
33- self .pwd = pwd
34- self .save2tableName = save2tableName
28+ self .filePath = filePath
29+ self .server = server
30+ self .database = database
31+ self .usrID = usrID
32+ self .pwd = pwd
33+ self .save2tableName = save2tableName
3534 self .dbType = ["mysql" ,"sqlserver" ]
3635 self .readData ()
3736 self .connect2DB ()
3837 self .save2database ()
3938
4039 def connect2DB (self ) -> "Connect to Database Server" :
41-
40+
4241 try :
4342 # self.conn = pymysql.connect(host=self.server,user=self.usrID,password=self.pwd,db=self.database,charset="utf8",cursorclass=pymysql.cursors.DictCursor)
44-
45- self .engine = create_engine ('mysql+pymysql://%s:%s@%s:3306/%s' % (self .usrID ,self .pwd ,self .server ,self .database ))
43+
44+ self .engine = create_engine (
45+ f'mysql+pymysql://{ self .usrID } :{ self .pwd } @{ self .server } :3306/{ self .database } '
46+ )
47+
4648 print ("Successfully connected to MySQL..." )
4749 except :
48- raise Exception ("Can not connect to %s, please check your input info." % self .dbType )
50+ raise Exception (
51+ f"Can not connect to { self .dbType } , please check your input info."
52+ )
4953
5054 def readData (self ) -> "DataFrame" :
5155 if self .filePath .split ("." )[- 1 ] in ["xlsx" ,"xls" ]:
@@ -57,17 +61,16 @@ def readData(self) -> "DataFrame":
5761 else :
5862 raise Exception ("Unable to load input file..." )
5963
60- def save2database (self ) -> "DataFrame to database" :
64+ def save2database (self ) -> "DataFrame to database" :
6165 if self .save2tableName :
6266 tableName = self .save2tableName
67+ elif "/" in self .filePath :
68+ tableName = self .filePath .split ("/" )[- 1 ].split ("." )[0 ]
6369 else :
64- if "/" in self .filePath :
65- tableName = self .filePath .split ("/" )[- 1 ].split ("." )[0 ]
66- else :
67- tableName = self .filePath .split ("." )[0 ]
70+ tableName = self .filePath .split ("." )[0 ]
6871 try :
6972 self .file_data .to_sql (tableName ,con = self .engine )
70- print ("Successfully save %s into database..." % tableName )
73+ print (f "Successfully save { tableName } into database..." )
7174 except Exception as e :
7275 raise Exception (e )
7376
0 commit comments