Python合并多张Excel表格并上传

文章来源:一氧化碳中毒   发布时间:2021-10-7 18:15:10   点击数:
  

文件夹目录有两张分别为-年间代码为的股票的利润表和现金流量表两个Excel文件,采用Python实现自动插入到MySQL数据库

下面是操作步骤:

导入依赖包

连接数据库

获取文件夹下后缀为“xlsx”的Excel文件的全路径,并保存为列表元素

#导入依赖包importosimportpandasaspdimportpymysql#连接数据库defmysql():db=pymysql.connect(host=localhost,user=root,passwd=******,db=sys,charset=utf8)cur=db.cursor()returndb,cur#获取文件夹下后缀为“xlsx”的Excel文件的全路径,并保存到列表defget_path_list(path):file_list=os.listdir(path)path_list=[]foriinget_file_list(path):ifi[-4:]==xlsx:path_list.append(path+\\+i)else:path_listreturnpath_list

执行get_path_list(path)函数之后可获得:

读取每个Excel文件内容,并把每个表格都存成DataFrame结构,然后储存为列表元素

#读取每个Excel文件内容,并把每个表格都存成DataFrame结构,然后储存为列表元素deffile_to_df(path_list):df_raw=[]foriinpath_list:df_raw.append(pd.read_excel(i,index_col=0,sheet_name=sheet1))#sheeet_name设置需要读取的页#合并DataFramedf=pd.concat(df_raw)returndf

合并之后的DataFrame如下(源数据分别为90行、46行):

将DataFrame插入事先创建好的数据库,写入的数据格式必须是元组,需要线转换成元组,若DataFrame则报错

defdf_to_mysql(df):df_tuple=[tuple(row)forrowindf.values]db,cur=mysql()#执行sql语句cur.execute(set_sql)db.

转载请注明:http://www.lwblm.com/bzbk/12512.html