我有一个xlsm工作簿,其中包含我现在要导入的每张工作表中的表格和图表,并将我的xlsm数据推送到任何sql 我搜索了如何执行此操作,发现通过python和pandas来推送数据是最好的方法,但直到现在我才发现 因此,有什么方法可以将我的所有数据插入到sql中,以便轻松使用和自动化我的数据 如果有一些教程,请告诉我或我该怎么做
答案 0 :(得分:1)
为此,您需要安装要求:
这是我的PHPMyAdmin数据库和表名:
我的Excel xlsm工作簿:
满足要求后,您可以尝试以下代码(不要忘记将python脚本和xlsm文件放在同一目录中):
import pandas as pd, os, MySQLdb
# Your directory
mydir = (os.getcwd()).replace('\\','/') + '/'
df=pd.read_excel(r''+ mydir +'Book1.xlsm')
print(df)
# Establish a MySQL connection
database = MySQLdb.connect (host="127.0.0.1", user = "root", passwd = "", db = "myDB")
print(database)
# Get the cursor, which is used to traverse the database, line by line
cursor = database.cursor()
# Create the INSERT INTO sql query
query = """INSERT INTO myTable (name, email) VALUES ( %s, %s)"""
for i in range(len(df)):
name=df['name'][i]
email=df['email'][i]
# Assign values from each row
values=(name, email)
# Execute sql Query
cursor.execute(query, values)
# Close the cursor
cursor.close()
# Commit the transaction
database.commit()
# Close the database connection
database.close()
print('Insert success!')
输出:
name email
0 alfafa miftahf77@gmail.com
<_mysql.connection open to '127.0.0.1' at 000002A5CB0BCEA8>
Insert success!
>>>
执行python脚本后,将myTable更改为:
希望这可以为您提供帮助。