openpyxl 打开excel插入数据
时间: 2023-09-05 17:13:57 浏览: 49
使用 openpyxl 库可以打开 excel 文件,并且可以通过代码向其中插入数据。以下是一个简单的示例:
```python
import openpyxl
# 打开 excel 文件
wb = openpyxl.load_workbook('example.xlsx')
# 获取活动工作表
sheet = wb.active
# 向指定单元格插入数据
sheet['A1'] = '姓名'
sheet['B1'] = '年龄'
sheet['C1'] = '性别'
# 向下添加数据
sheet.append(['张三', 18, '男'])
sheet.append(['李四', 20, '女'])
# 保存文件
wb.save('example.xlsx')
```
在这个示例中,我们首先打开了一个名为 example.xlsx 的 excel 文件,并获取了它的活动工作表。然后,我们向 A1、B1 和 C1 这三个单元格分别插入了姓名、年龄和性别这三个标题。接下来,我们通过 `sheet.append()` 方法向下添加了两行数据。最后,我们调用 `wb.save()` 方法保存了文件。
相关问题
怎么使用openpyxl将excel全部数据存储到mysql数据库
以下是使用openpyxl将Excel全部数据存储到MySQL数据库的步骤:
1. 安装openpyxl和pymysql模块,可以使用以下命令进行安装:
```
pip install openpyxl
pip install pymysql
```
2. 连接MySQL数据库,可以使用以下代码:
```python
import pymysql
db = pymysql.connect(host="localhost", user="username", password="password", db="database_name")
cursor = db.cursor()
```
3. 打开Excel文件,读取数据并将数据存储到一个列表中:
```python
from openpyxl import load_workbook
wb = load_workbook(filename='data.xlsx', read_only=True)
ws = wb.active
data = []
for row in ws.rows:
data.append([cell.value for cell in row])
```
4. 使用循环将列表中的数据插入到MySQL数据库中:
```python
for row in data:
sql = "INSERT INTO table_name (col1, col2, col3) VALUES (%s, %s, %s)"
cursor.execute(sql, row)
db.commit()
```
这里的INSERT语句是一个示例,您需要将其替换为实际的表名和列名。
5. 关闭数据库连接:
```python
cursor.close()
db.close()
```
完整的代码示例:
```python
import pymysql
from openpyxl import load_workbook
db = pymysql.connect(host="localhost", user="username", password="password", db="database_name")
cursor = db.cursor()
wb = load_workbook(filename='data.xlsx', read_only=True)
ws = wb.active
data = []
for row in ws.rows:
data.append([cell.value for cell in row])
for row in data:
sql = "INSERT INTO table_name (col1, col2, col3) VALUES (%s, %s, %s)"
cursor.execute(sql, row)
db.commit()
cursor.close()
db.close()
```
请注意,这个示例假设您的Excel文件具有三列数据,您需要根据实际情况修改代码。此外,这个示例也假设您的Excel文件中没有标题行,如果有标题行,您需要在读取数据时忽略它。
怎么使用openpyxl将excel数据存储到mysql数据库
首先,需要安装openpyxl和pymysql模块,可以通过以下命令进行安装:
```
pip install openpyxl
pip install pymysql
```
然后,可以按照以下步骤将Excel数据存储到MySQL数据库中:
1. 导入所需模块:
```python
import openpyxl
import pymysql
```
2. 连接到MySQL数据库:
```python
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='database_name', charset='utf8')
```
3. 打开Excel文件并获取工作表:
```python
wb = openpyxl.load_workbook('example.xlsx')
ws = wb['Sheet1']
```
4. 循环遍历工作表中的每一行,并将数据插入到MySQL中:
```python
for row in ws.iter_rows(min_row=2):
values = tuple(cell.value for cell in row)
cursor = conn.cursor()
cursor.execute('INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)', values)
cursor.close()
conn.commit()
```
注意,这里的`column1`,`column2`,`column3`需要替换成实际的列名,同时需要根据实际情况修改连接到MySQL数据库的参数。