openpyxl把excel表中某一列数据保存到列表
时间: 2023-08-03 19:26:49 浏览: 89
可以使用 openpyxl 模块中的 load_workbook() 方法来读取 Excel 文件,再使用 sheet 对象中的方法来获取指定列的数据并保存到列表中。下面是一个示例代码:
```python
from openpyxl import load_workbook
# 加载 Excel 文件
workbook = load_workbook(filename='example.xlsx')
# 获取指定的 sheet
sheet = workbook['Sheet1']
# 保存指定列的数据到列表中
column_data = []
for cell in sheet['A']:
column_data.append(cell.value)
```
在这个示例中,我们将 Excel 文件中 Sheet1 表中的 A 列数据保存到了 column_data 列表中。你可以根据你的需求修改 sheet['A'] 中的字母,来获取不同的列数据。
相关问题
openpyxl读取excel中指定列中一部分数据保存到一个数组
使用 openpyxl 读取 Excel 中指定列中一部分数据并将其保存到数组中,可以这样做:
1. 安装 openpyxl:
```
pip install openpyxl
```
2. 导入 openpyxl 库中的必要模块:
```
from openpyxl import load_workbook
```
3. 使用 load_workbook 函数打开 Excel 文件:
```
wb = load_workbook('文件名.xlsx')
```
4. 选择要操作的工作表(sheet):
```
sheet = wb['工作表名']
```
5. 在指定列中遍历所有单元格,将单元格中的数据存储到数组中:
```
data = []
for cell in sheet['列名']:
data.append(cell.value)
```
例如,如果你要从第二列(B 列)读取数据,那么代码应该是这样的:
```
data = []
for cell in sheet['B']:
data.append(cell.value)
```
如果要从某一行开始读取数据,可以使用 `sheet.iter_rows` 方法遍历每一行,然后通过索引获取每一列的数据:
```
data = []
for row in sheet.iter_rows(min_row=2):
data.append(row[1].value)
```
注意:索引从 0 开始,第二列的索引是 1。
Python openpyxl 如何把excel 表中某几列数据转换为数字类型
你可以使用openpyxl库中的cell对象的value属性来获取单元格的值,并使用int或float函数将其转换为数字类型,然后再将其写回单元格中。
以下是一个示例代码,将第1列到第3列的数据转换为数字类型:
```
from openpyxl import load_workbook
# 打开Excel文件
workbook = load_workbook('example.xlsx')
# 选择工作表
worksheet = workbook.active
# 遍历第1列到第3列的每个单元格,将其值转换为数字类型
for row in worksheet.iter_rows(min_row=1, max_col=3):
for cell in row:
if isinstance(cell.value, (int, float)):
continue # 如果单元格的值已经是数字类型,则跳过
try:
cell.value = float(cell.value)
except ValueError:
pass # 如果无法将单元格的值转换为数字类型,则跳过
# 保存Excel文件
workbook.save('example.xlsx')
```
这个代码遍历了第1列到第3列的每个单元格,并将其值转换为浮点数类型。如果单元格的值已经是数字类型,则跳过。如果无法将单元格的值转换为数字类型,则跳过该单元格。最后,保存Excel文件。