python 通过openpyxl写入excel文件
时间: 2023-08-09 18:06:56 浏览: 112
你可以使用Python库openpyxl来写入Excel文件。以下是一个示例代码,演示如何使用openpyxl创建一个新的Excel文件,并向其中写入数据:
```python
from openpyxl import Workbook
# 创建一个新的Excel文件
workbook = Workbook()
sheet = workbook.active
# 写入数据
sheet['A1'] = '姓名'
sheet['B1'] = '年龄'
sheet['C1'] = '城市'
sheet['A2'] = '张三'
sheet['B2'] = 25
sheet['C2'] = '北京'
sheet['A3'] = '李四'
sheet['B3'] = 30
sheet['C3'] = '上海'
# 保存文件
workbook.save('example.xlsx')
```
在上面的示例中,我们创建了一个新的Excel文件,并访问了默认的工作表(即第一个工作表)。然后,我们使用`sheet`对象的索引来写入数据到特定的单元格。最后,我们使用`workbook.save()`方法保存文件,将其命名为"example.xlsx"。
运行上述代码后,你将在当前目录下找到一个名为"example.xlsx"的Excel文件,其中包含了我们写入的数据。
希望能帮到你!如果你有任何其他问题,请随时提问。
相关问题
python中openpyxl写入excel文件,超过最大行进入下一个shee
在Python中,使用`openpyxl`库操作Excel文件时,如果数据量超过了单个工作表的最大行数(默认为1048576行),你可以通过创建新的工作表(Worksheet)来继续写入。当你试图写入一行到当前工作表超出范围时,可以手动创建一个新的工作表并开始写入。
这是一个简单的示例:
```python
from openpyxl import Workbook
# 创建Workbook对象
wb = Workbook()
# 获取活动的工作表(默认第一个)
ws = wb.active
# 写入数据前检查行数
max_rows = ws.max_row
if max_rows >= 1048576: # 如果已满则创建新工作表
new_ws = wb.create_sheet(title='Sheet2') # 或者指定其他标题
else:
new_ws = ws
# 将数据写入新工作表
new_ws.append([data1, data2, ...])
# 保存Excel文件
wb.save('your_file.xlsx')
```
在这个例子中,如果`ws`已经达到了最大行数,就会创建名为"Sheet2"的新工作表,并将数据写入其中。记得替换`data1, data2, ...`为你实际的数据。
python openpyxl写入excel
### 使用 `openpyxl` 库写入 Excel 文件
为了利用 Python 编程语言中的 `openpyxl` 库来写入 Excel 文件,需先确保已安装该库。可以通过 pip 安装命令完成此操作[^2]。
```bash
pip install openpyxl
```
一旦安装完毕,可以按照如下方式使用 `openpyxl` 来创建新的工作簿并往其中写入数据:
#### 创建新工作簿并向其写入数据
下面是一个简单的例子,展示了如何创建一个新的 Excel 工作簿,并向第一个工作表的第一列中写入一些字符串类型的数值。
```python
from openpyxl import Workbook
# 创建一个新的工作簿对象
wb = Workbook()
# 获取活动的工作表
ws = wb.active
# 向单元格A1写入内容 "Hello"
ws['A1'] = 'Hello'
# 或者也可以通过行列索引来指定位置
ws.cell(row=2, column=1, value='World')
# 将更改保存到文件
wb.save('example.xlsx')
```
这段代码会生成一个名为 example.xlsx 的文件,在 A 列中有两个条目:“Hello” 和 “World”。
对于更复杂的数据结构比如列表或二维数组,则可通过循环遍历这些集合并将它们逐个元素地放入表格内相应的单元格之中。
#### 写入多维数组至多个单元格
假设有一个包含若干子列表的父列表代表行数据,每一项都是要被放置在同一行不同列上的值;那么可以用双重for循环实现这一点:
```python
data = [
['Name', 'Age', 'City'],
['Alice', 30, 'New York'],
['Bob', 25, 'Los Angeles']
]
for row_index, row_data in enumerate(data, start=1):
for col_index, cell_value in enumerate(row_data, start=1):
ws.cell(row=row_index, column=col_index, value=cell_value)
wb.save('people_info.xlsx')
```
上述脚本将会建立一张人员信息表单,每行为一个人的信息记录,而各属性则分布在不同的列上。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)