openpyxl库可以主动跳过空单元格而读取下方有数据的单元格,并将结果导入到新的Excel中。请为我写具体代码并写详细的中文注释,缩进请正确书写
时间: 2023-03-08 15:54:18 浏览: 41
from openpyxl import load_workbook
# 从Excel读取数据
wb = load_workbook('文件名.xlsx')
ws = wb.active
# 变量初始化
row_num = 0
# 创建一个新的Excel
wb_new = Workbook()
ws_new = wb_new.active
# 遍历每一行
for row in ws.iter_rows(min_row=1, max_row=ws.max_row):
cell_list = []
# 遍历每一列,跳过空单元格
for cell in row:
if cell.value is None:
continue
else:
cell_list.append(cell.value)
# 将有数据的单元格放入新的Excel中
ws_new.append(cell_list)
row_num = row_num + 1
# 保存新的Excel
wb_new.save('新文件名.xlsx')
相关问题
openpyxl读取excel合并单元格数据
你可以使用 openpyxl 库来读取 Excel 文件中合并单元格的数据。下面是一个示例代码,演示了如何读取合并单元格的数据:
```python
from openpyxl import load_workbook
# 加载 Excel 文件
workbook = load_workbook('example.xlsx')
# 选择一个工作表
sheet = workbook['Sheet1']
# 遍历合并单元格的范围
for merged_cell_range in sheet.merged_cells.ranges:
# 获取合并单元格的起始行、列和结束行、列
start_row, start_column, end_row, end_column = merged_cell_range.bounds
# 获取合并单元格的值(通常是左上角单元格的值)
merged_cell_value = sheet.cell(row=start_row, column=start_column).value
# 打印合并单元格的范围和值
print(f"合并单元格 {merged_cell_range}:{merged_cell_value}")
```
请确保将 `example.xlsx` 替换为你要读取的 Excel 文件的路径。在上述代码中,我们使用 `merged_cells` 属性来获取工作表中的所有合并单元格的范围,并使用 `bounds` 方法获取合并单元格的起始行、列和结束行、列。然后,我们使用 `cell` 方法获取合并单元格中的值。
你可以根据你的需求将上述代码进行修改,以适应你的具体情况。
使用openpyxl操作Excel表格怎么将表格会有一些数据是空值单元格中会有[]怎么改成空白格
你可以使用openpyxl中的if语句来判断单元格中是否有[],如果有则将其替换为空白格。以下是示例代码:
```python
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 选择工作表
sheet = wb['Sheet1']
# 遍历单元格
for row in sheet.iter_rows():
for cell in row:
# 判断单元格中是否有[]
if cell.value == '[]':
# 将[]替换为空白格
cell.value = ''
# 保存Excel文件
wb.save('example.xlsx')
```
这样就可以将表格中的[]替换为空白格了。