45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
|
import pandas as pd
|
|||
|
import sqlite3
|
|||
|
|
|||
|
# 读取Excel文件
|
|||
|
excel_file_path = '歌星.xlsx' # 替换为你的Excel文件路径
|
|||
|
|
|||
|
# 使用ExcelFile类获取工作表名称
|
|||
|
excel_file = pd.ExcelFile(excel_file_path, engine='openpyxl')
|
|||
|
sheet_names = excel_file.sheet_names
|
|||
|
|
|||
|
# 选择你想要导入的工作表
|
|||
|
sheet_to_import = '工作表1' # 替换为你实际的工作表名称
|
|||
|
df = pd.read_excel(excel_file_path, sheet_name=sheet_to_import, engine='openpyxl')
|
|||
|
|
|||
|
# 打印前五行内容
|
|||
|
print(f"工作表: {sheet_to_import}")
|
|||
|
print(df.head(), "\n")
|
|||
|
|
|||
|
# 连接到SQLite数据库(如果数据库不存在,会自动创建)
|
|||
|
conn = sqlite3.connect('KSongDatabase.db')
|
|||
|
cursor = conn.cursor()
|
|||
|
|
|||
|
# 获取列名
|
|||
|
columns = df.columns.tolist()
|
|||
|
|
|||
|
# 动态生成CREATE TABLE语句
|
|||
|
table_name = 'ArtistLibrary'
|
|||
|
create_table_sql = f'CREATE TABLE IF NOT EXISTS {table_name} ('
|
|||
|
create_table_sql += ', '.join([f'"{col}" TEXT' for col in columns])
|
|||
|
create_table_sql += ')'
|
|||
|
|
|||
|
# 执行CREATE TABLE语句
|
|||
|
cursor.execute(create_table_sql)
|
|||
|
|
|||
|
# 将DataFrame的数据写入SQLite表
|
|||
|
df.to_sql(table_name, conn, if_exists='append', index=False)
|
|||
|
|
|||
|
# 验证数据是否插入成功
|
|||
|
print("数据插入后前五行内容:")
|
|||
|
query_result = pd.read_sql_query(f"SELECT * FROM {table_name} LIMIT 5", conn)
|
|||
|
print(query_result)
|
|||
|
|
|||
|
# 提交事务并关闭连接
|
|||
|
conn.commit()
|
|||
|
conn.close()
|