请编写一段可运行的python代码处理excel内的数据,将每一列单元格内数据以逗号为界限分为两列,然后将数据的行与列颠倒,接着删除每个单元格中的所有符号,最后将处理好的新excel文件输出到桌面
时间: 2023-06-04 16:03:29 浏览: 147
以下是实现要求的Python代码:
```python
import openpyxl
import string
# 打开Excel文件
file_path = "原始文件路径"
workbook = openpyxl.load_workbook(file_path)
# 获取第一个Sheet
worksheet = workbook.active
# 获取行数和列数
max_row = worksheet.max_row
max_column = worksheet.max_column
# 处理单元格数据,将逗号分隔的数据拆分成两列
for i in range(1, max_row+1):
for j in range(1, max_column+1):
cell = worksheet.cell(row=i, column=j)
value = cell.value
if isinstance(value, str) and ',' in value:
data = value.split(',')
cell.value = data[0]
new_cell = worksheet.cell(row=i, column=j+1, value=data[1])
# 颠倒行和列
new_worksheet = openpyxl.Workbook()
new_sheet = new_worksheet.active
for i in range(1, max_column+1):
for j in range(1, max_row+1):
old_cell = worksheet.cell(row=j, column=i)
new_cell = new_sheet.cell(row=i, column=j, value=old_cell.value)
# 删除单元格中的符号
for row in new_sheet.rows:
for cell in row:
if isinstance(cell.value, str):
cell.value = cell.value.translate(str.maketrans("", "", string.punctuation))
# 将处理好的文件保存到桌面
new_file_path = "桌面文件路径"
new_worksheet.save(new_file_path)
```
请注意,该代码可能会因为不同版本的openpyxl库存在差异,具体实现时需要根据实际情况进行调整。
阅读全文