python将本地excel子列列名下所有行单元格插入mysql指定列
时间: 2024-09-12 07:13:39 浏览: 49
在Python中,你可以使用pandas库处理Excel文件,然后利用pymysql操作MySQL数据库。以下是步骤:
1. 首先,你需要安装必要的库,例如`pandas`用于读取Excel,`openpyxl`或`xlrd`(取决于你的Excel版本),以及`pymysql`用于连接MySQL:
```bash
pip install pandas openpyxl pymysql
```
2. 使用pandas加载Excel数据到DataFrame:
```python
import pandas as pd
# 读取Excel文件
df_excel = pd.read_excel('your_file.xlsx', sheet_name='your_sheet') # 替换为实际路径和工作表名称
# 获取需要插入数据库的列名列表
column_names = df_excel.columns.tolist()
```
3. 创建一个字典,其中键是Excel的列名,值是该列的数据:
```python
data_dict = {col: df_excel[col].tolist() for col in column_names}
```
4. 连接到MySQL数据库:
```python
import pymysql
conn = pymysql.connect(host='localhost', user='your_username', password='your_password',
db='your_database', charset='utf8mb4')
cursor = conn.cursor()
```
5. 将数据分批插入MySQL,因为一次性插入大量数据可能会有性能问题:
```python
for table_name, values_list in data_dict.items():
insert_query = f"INSERT INTO `{table_name}` ({', '.join(column_names)}) VALUES (%s)"
placeholders = ', '.join(['%s'] * len(values_list[0]))
for row in zip(*values_list):
cursor.execute(insert_query, row)
conn.commit()
```
6. 最后别忘了关闭游标和连接:
```python
cursor.close()
conn.close()
```
阅读全文