使用python,打开选中的excel,将所有sheet的第1列以"-"符号为分隔符分列为三列,使用openpyxl库
时间: 2023-05-20 21:04:38 浏览: 70
可以使用以下代码实现:
```python
import openpyxl
# 打开选中的excel文件
workbook = openpyxl.load_workbook('selected_excel.xlsx')
# 遍历所有sheet
for sheet in workbook.worksheets:
# 遍历第1列
for cell in sheet['A']:
# 将单元格的值按"-"分隔为三列
values = cell.value.split('-')
# 将分隔后的值分别填入第1、2、3列
cell.value = values[0]
sheet.cell(row=cell.row, column=2).value = values[1]
sheet.cell(row=cell.row, column=3).value = values[2]
# 保存修改后的excel文件
workbook.save('selected_excel_modified.xlsx')
```
这段代码使用 openpyxl 库打开选中的 excel 文件,遍历所有 sheet,再遍历每个 sheet 的第1列,将单元格的值按"-"分隔为三列,分别填入第1、2、3列,最后保存修改后的 excel 文件。
相关问题
使用python,打开选中的excel,在所有sheet内A列的位置新增一列,将每个sheet的名称写入第一列,并以"-"符号为分隔符将第一列分列为三列
可以使用openpyxl库来实现这个功能。首先需要导入openpyxl库,然后使用load_workbook函数打开选中的excel文件。接着,使用for循环遍历所有的sheet,对于每个sheet,使用insert_cols函数在A列的位置新增一列。然后,使用cell函数将该sheet的名称写入第一列。最后,使用split函数将第一列按照"-"符号分隔为三列,并分别写入B、C、D列。
以下是示例代码:
```python
import openpyxl
# 打开选中的excel文件
workbook = openpyxl.load_workbook('selected_excel.xlsx')
# 遍历所有的sheet
for sheet in workbook:
# 在A列的位置新增一列
sheet.insert_cols(1)
# 将该sheet的名称写入第一列
sheet.cell(row=1, column=1, value=sheet.title)
# 将第一列按照"-"符号分隔为三列,并分别写入B、C、D列
for row in sheet.iter_rows(min_row=2, min_col=1):
value = row[0].value
if value:
values = value.split('-')
row[0].value = values[0]
sheet.cell(row=row[0].row, column=2, value=values[1] if len(values) > 1 else '')
sheet.cell(row=row[0].row, column=3, value=values[2] if len(values) > 2 else '')
# 保存修改后的excel文件
workbook.save('selected_excel_modified.xlsx')
```
注意:以上代码仅供参考,具体实现方式可能因为excel文件的格式而有所不同。
使用python,打开选中的excel,在所有sheet内A列的位置新增一列,将每个sheet的名称写入第一列
可以使用openpyxl库来实现这个功能。以下是示例代码:
```python
import openpyxl
from openpyxl.utils import column_index_from_string
# 打开选中的excel文件
workbook = openpyxl.load_workbook('selected_excel.xlsx')
# 遍历所有sheet
for sheet in workbook:
# 获取当前sheet的名称
sheet_name = sheet.title
# 获取A列的最大行数
max_row = sheet.max_row
# 将所有单元格向右移动一列
sheet.insert_cols(1)
# 将当前sheet的名称写入第一列
for row in range(1, max_row+1):
sheet.cell(row=row, column=1).value = sheet_name
# 保存修改后的excel文件
workbook.save('selected_excel.xlsx')
```
这段代码会打开名为"selected_excel.xlsx"的excel文件,遍历所有sheet,在每个sheet的A列前新增一列,并将当前sheet的名称写入第一列。最后保存修改后的excel文件。