使用python的openpyxl,选择excel文件,删除名称为"2023年 铝内贸"的sheet中的第1列、第5列、第6列、第8~10列、第12列、第14~16列、第20列、第21列、第23~列、第28列、第30~38列,在最左侧新建2列,第一列在有数据的行的行首填上”供应链”,第二列在有数据的行上填上”铝”;删除名称为" 2023年信达诺 铝"的sheet中的第1列、第2列、第8列、第11列、第12列、第13列、第20列、第21列、第23~列、第28列、第30~38列,在最左侧新建2列,第一列在有数据的行的行首填上”上海平台”,第二列在有数据的行上填上”铝”。保存文件在桌面,命名为"数据清理"
时间: 2023-05-18 14:03:59 浏览: 70
利用openpyxl,Python对excel读写文件
好的,这是一个关于使用 Python 的 openpyxl 库进行 Excel 数据清理的问题。以下是代码:
```python
import openpyxl
from openpyxl.utils import get_column_letter
# 打开 Excel 文件
wb = openpyxl.load_workbook('example.xlsx')
# 删除指定 sheet 中的列
def delete_columns(sheet_name, columns):
sheet = wb[sheet_name]
for col in sorted(columns, reverse=True):
sheet.delete_cols(col)
# 在指定 sheet 最左侧新建两列,并填充数据
def add_columns(sheet_name, col1_data, col2_data):
sheet = wb[sheet_name]
sheet.insert_cols(1, 2)
sheet.cell(row=1, column=1, value='供应链')
sheet.cell(row=1, column=2, value='铝')
for row in range(2, sheet.max_row+1):
if sheet.cell(row=row, column=3).value:
sheet.cell(row=row, column=1, value=col1_data)
sheet.cell(row=row, column=2, value=col2_data)
# 删除指定 sheet 中的列
delete_columns('2023年 铝内贸', [38, 37, 36, 35, 34, 33, 31, 29, 27, 22, 19, 13, 11, 6, 5, 1])
# 在指定 sheet 最左侧新建两列,并填充数据
add_columns('2023年 铝内贸', '供应链', '铝')
# 删除指定 sheet 中的列
delete_columns('2023年信达诺 铝', [38, 37, 36, 35, 34, 33, 31, 27, 22, 19, 13, 12, 11, 2, 1])
# 在指定 sheet 最左侧新建两列,并填充数据
add_columns('2023年信达诺 铝', '上海平台', '铝')
# 保存文件
wb.save('C:\\Users\\用户名\\Desktop\\数据清理.xlsx')
```
请注意,您需要将代码中的文件路径替换为您自己的路径。
阅读全文