import xlrd
import pymysql
#读取xls文件
def Readxls(path,work_name):
print("开始读取xls文件")
if path.strip()!='':
data=xlrd.open_workbook(path)
table=data.sheet_by_name(work_name)
else:
print("输入的路径为空!")
return table
#读取xls文件的字段
def ReadXlsClomun(table):
print("开始读取xls文件中的字段!")
list2=[]
list1=table.row_values(0)
for i in range(0,len(list1)):
if list1[i]!="":
list2.append(list1[i])
else:
continue
return list2
#读取xls文件的字段数据
def ReadXlsData(table,row_num):
print("开始读取xls文件中的数据!")
data=[[] for i in range(row_num)]
j=0
line_number=table.nrows
for i in range(1,line_number):
data[j]=table.row_values(i)
j=j+1
return data
#执行mysql的语句
def execMysqlStence(create_table,inserte_data,table_name):
conn = pymysql.connect(host='192.168.197.137', port=3306, user='root', passwd='123456789', db='safedog')
cursor = conn.cursor()
crete_affected = cursor.execute(create_table)
#组合插入语句
for i in range(0,len(inserte_data)):
inserte_data1=""
for j in range(0,len(inserte_data[i])):
inserte_data2 = '"' + str(inserte_data[i][j]) + '"'
if j==0:
inserte_data1=inserte_data2+","
elif j==len(inserte_data[i])-1:
inserte_data1=inserte_data1+inserte_data2
else:
inserte_data1=inserte_data1+inserte_data2+","
inserte_sentence="insert into "+table_name+" values ("+inserte_data1+" )"
print(inserte_sentence)
insert_affected=cursor.execute(inserte_sentence)
conn.commit()
#存储数据到mysql的数据库,主函数
def StorageMysql(path,work_name,table_name,row_num):
table=Readxls(path,work_name)
column_data=ReadXlsClomun(table)
print(column_data)
table_data=ReadXlsData(table,row_num)
print(column_data[1])
#组合建表语句
table="create table "+table_name+" ( "
for i in range(0,len(column_data)):
if i==0:
create_table_sentence=table+column_data[i]+" varchar(200),"
elif i==len(column_data)-1:
create_table_sentence=create_table_sentence+column_data[i]+" varchar(200) )"
else:
create_table_sentence=create_table_sentence+column_data[i]+" varchar(200),"
print("建表语句为:"+create_table_sentence)
execMysqlStence(create_table_sentence,table_data,table_name)
if __name__ == "__main__":
#读取xls文件的路径
path='D:\ChromeCoreDownloads\panzhi344200811816555189032.xls'
#工作表的名称
work_name="Sheet1"
#需要建表的名称
table_name="panzhi"
#表中有多少行
row_number=25
StorageMysql(path,work_name,table_name,row_number)
读取xls文件中的数据到mysql数据库中,Python代码实现。
最新推荐文章于 2025-12-09 09:40:28 发布
本文详细介绍了一种将Excel数据(XLS格式)导入MySQL数据库的方法,包括读取Excel文件、解析字段、读取数据并创建相应的数据库表,最后将数据批量插入数据库。通过Python的xlrd和pymysql库实现自动化过程。
4764

被折叠的 条评论
为什么被折叠?



