openpyxl写完一个数据后必须保存?
时间: 2023-07-20 09:29:33 浏览: 56
是的,当您使用 openpyxl 写入 Excel 数据时,必须调用工作簿对象的 `save()` 方法才能将更改保存到磁盘上的文件中。如果您不调用 `save()` 方法,则更改不会被保存。下面是一个简单的示例,演示如何使用 openpyxl 写入数据并保存文件:
```python
from openpyxl import Workbook
# 创建工作簿对象
wb = Workbook()
# 获取工作表对象
ws = wb.active
# 写入数据
ws['A1'] = 'Hello, World!'
# 保存文件
wb.save('example.xlsx')
```
在这个示例中,我们创建了一个新的工作簿对象,获取了默认的工作表对象,并将字符串 "Hello, World!" 写入单元格 A1 中。最后,我们调用 `save()` 方法将更改保存到名为 "example.xlsx" 的文件中。
相关问题
每写入一个数据都要保存?
不必每写入一个数据就要保存一次,您可以在需要保存的时候调用 `save()` 方法。比如在处理完所有数据后,或者在写入一定数量的数据后,再调用 `save()` 方法将更改保存到磁盘上的文件中。以下是一个示例,演示了如何在处理完所有数据后保存工作簿:
```python
from openpyxl import Workbook
# 创建工作簿对象
wb = Workbook()
# 获取工作表对象
ws = wb.active
# 写入数据
ws['A1'] = 'Hello'
ws['B1'] = 'World'
ws['C1'] = '!'
# 处理完所有数据后保存文件
wb.save('example.xlsx')
```
在这个示例中,我们将三个数据写入工作表的第一行中,并在处理完所有数据后调用 `save()` 方法保存文件。这样可以减少文件的 I/O 操作,提高写入数据的效率。
openpyxl读取excel指定区域数据保存到一个数组
### 回答1:
好的。在使用 openpyxl 读取 Excel 文件时,可以使用 `worksheet.iter_rows()` 方法来遍历工作表中的每一行。你可以指定开始行和结束行,从而只遍历指定区域中的行。例如:
```
from openpyxl import load_workbook
# 载入 Excel 文件
wb = load_workbook('file.xlsx')
# 选择工作表
ws = wb['Sheet1']
# 遍历指定区域的行(第 2 行到第 4 行)
for row in ws.iter_rows(min_row=2, max_row=4):
# row 是一个包含单元格的元组
# 将这些单元格的值保存到数组中
values = [cell.value for cell in row]
print(values)
```
上面的代码会打印出 Excel 文件中第 2 行到第 4 行的数据。如果你想保存这些数据到数组中,可以使用如下代码:
```
from openpyxl import load_workbook
# 载入 Excel 文件
wb = load_workbook('file.xlsx')
# 选择工作表
ws = wb['Sheet1']
# 创建空数组
data = []
# 遍历指定区域的行(第 2 行到第 4 行)
for row in ws.iter_rows(min_row=2, max_row=4):
# row 是一个包含单元格的元组
# 将这些单元格的值保存到数组中
values = [cell.value for cell in row]
# 将数据添加到数组末尾
data.append(values)
print(data)
```
这样你就可以使用 openpyxl 读取 Excel 文件中指定区域的数
### 回答2:
使用openpyxl库读取Excel文件,并指定要读取的区域数据保存到一个数组的步骤如下:
1. 首先,导入openpyxl库。
```python
import openpyxl
```
2. 创建一个Workbook对象,打开要读取的Excel文件。
```python
workbook = openpyxl.load_workbook('file.xlsx')
```
3. 选择要读取数据的工作表。
```python
worksheet = workbook['Sheet1']
```
4. 指定要读取的区域范围,例如'A1:C5'表示从A1单元格到C5单元格的区域。
```python
range = 'A1:C5'
```
5. 创建一个空的数组,用于保存读取的数据。
```python
data = []
```
6. 使用嵌套的for循环遍历指定的区域范围,并将每个单元格的值添加到数组中。
```python
for row in worksheet[range]:
for cell in row:
data.append(cell.value)
```
7. 最后,打印或处理数组中的数据。
```python
for value in data:
print(value)
```
这样就可以使用openpyxl读取Excel文件中指定区域的数据,并保存到一个数组中了。如果要进行更复杂的数据处理,可以根据需要进一步操作数组中的数据。
### 回答3:
使用openpyxl库读取指定区域的数据并保存到一个数组,首先需要导入openpyxl库:
```python
import openpyxl
```
接下来,通过load_workbook()方法打开Excel文件:
```python
workbook = openpyxl.load_workbook("example.xlsx")
```
然后,选择要读取的工作表和指定的区域范围:
```python
sheet = workbook["Sheet1"]
data_range = sheet["A1:C6"]
```
接着,可以使用循环遍历data_range中的所有单元格,并将数据存入一个数组:
```python
data_array = []
for row in data_range:
row_data = []
for cell in row:
row_data.append(cell.value)
data_array.append(row_data)
```
最后,可以打印或使用data_array数组中的数据:
```python
for row_data in data_array:
for cell_value in row_data:
print(cell_value)
```
这样,你就成功将Excel指定区域的数据保存到一个数组中了。注意,使用openpyxl库读取Excel文件时,需要将Excel文件与Python代码放在同一目录下。