帮我用openpyxl写个脚本
时间: 2023-02-20 19:04:00 浏览: 69
好的,那么关于如何使用openpyxl写脚本,下面是一个简单的例子:
```
import openpyxl
# 打开工作簿
wb = openpyxl.load_workbook('example.xlsx')
# 选择活动工作表
sheet = wb.active
# 在第一行第一列写入数据
sheet['A1'] = '姓名'
sheet['B1'] = '年龄'
sheet['C1'] = '职业'
# 在第二行写入数据
sheet.append(['张三', 20, '工程师'])
sheet.append(['李四', 25, '教师'])
# 保存工作簿
wb.save('example.xlsx')
```
这是一个简单的例子,它创建了一个Excel文件,并写入了一些数据。
希望这对您有所帮助!
相关问题
帮我用openpyxl写个脚本,将第2列中相邻单元格相同的行进行合并
好的,以下是一个使用 openpyxl 库合并相邻单元格相同的行的代码示例:
```
import openpyxl
def merge_rows(file_path):
wb = openpyxl.load_workbook(file_path)
sheet = wb.active
rows = sheet.iter_rows(min_row=2)
previous_value = sheet.cell(row=2, column=2).value
start_row = 2
for row in rows:
current_value = row[1].value
if current_value != previous_value:
sheet.merge_cells(start_row=start_row, end_row=row[0].row-1, start_column=1, end_column=sheet.max_column)
start_row = row[0].row
previous_value = current_value
wb.save(file_path)
merge_rows("file.xlsx")
```
在这个代码中,我们首先使用 `openpyxl.load_workbook` 函数打开一个 Excel 文件,然后获取活动工作表,最后在 `iter_rows` 函数中从第 2 行开始遍历所有的行。
我们使用 `previous_value` 变量存储上一个单元格的值,使用 `start_row` 变量记录合并区间的开始行号,在遍历每一行时,如果当前单元格的值与上一个单元格的值不同,则使用 `merge_cells` 函数合并从 `start_row` 到当前行的前一行的所有单元格,然后将 `start_row` 更新为当前行号。
最后,使用 `wb.save` 函数保存更改并关闭 Excel 文件。
希望这个代码对您有所帮助!
帮我用openpyxl写个脚本,将第二列中相邻单元格相同的所在的行进行合并
好的,下面是一个使用 openpyxl 库合并第二列中相邻单元格相同的行的代码示例:
```
import openpyxl
# 打开工作簿
workbook = openpyxl.load_workbook('data.xlsx')
# 选择活动工作表
worksheet = workbook.active
# 获取工作表中的所有行
rows = list(worksheet.rows)
# 存储合并的行的索引
merged_row_indexes = []
# 遍历所有行
for i in range(1, len(rows)):
# 获取第一行和第二行
row1 = rows[i - 1]
row2 = rows[i]
# 获取第二列的值
value1 = row1[1].value
value2 = row2[1].value
# 如果第二列的值相同,则合并这两行
if value1 == value2:
# 将合并的行的索引添加到列表中
merged_row_indexes.append(i)
# 删除合并的行
for i in reversed(merged_row_indexes):
worksheet.delete_rows(i)
# 保存工作簿
workbook.save('data.xlsx')
```
希望这个代码示例能帮到你!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)