编写一段可运行的python代码处理excel内的数据,先将每列单元格中的两个数以逗号为界限分为两列,然后将数据的行与列颠倒,然后删除每个单元格中的所有符号,最后将处理好的新excel文件输出到桌面
时间: 2023-06-04 17:02:36 浏览: 62
好的,以下是可运行的Python代码,实现对Excel文件的数据处理及导出:
```python
import pandas as pd
import os
# 读取Excel文件
filename = "/path/to/your/excel/file.xlsx"
df = pd.read_excel(filename, header=None)
# 分割每列单元格中的两个数
df = pd.concat([df[0].str.split(',', expand=True), df[1:]], axis=1)
# 行与列颠倒
df = df.transpose()
# 删除每个单元格中的所有符号
df = df.applymap(lambda x: str(x).replace('[^\d]+', ''))
# 导出处理好的新Excel文件到桌面
new_filename = os.path.expanduser("~/Desktop/new_file.xlsx")
df.to_excel(new_filename, index=False, header=False)
```
请注意,代码中的 `filename` 变量需替换为您要处理的 Excel 文件的路径。新的 Excel 文件将导出到桌面(MacOS / Linux 平台),您可以按需更改此路径以适配系统平台。
相关问题
编写一段可运行的python代码处理excel内的数据,先将每列单元格中的两个数以逗号为界限分为两列,然后将数据的行与列颠倒,接着删除每个单元格中的所有符号,最后将处理好的新excel文件输出到桌面
好的,以下是Python代码:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel("input.xlsx")
# 将每列单元格中的两个数以逗号分割为两列
df[['A', 'B']] = df['原始数据'].str.split(',', expand=True)
# 将数据的行与列颠倒
df = df.transpose()
# 删除每个单元格中的所有符号
df = df.replace('[^0-9a-zA-Z]+', '', regex=True)
# 将处理好的新Excel文件输出到桌面
df.to_excel("~/Desktop/output.xlsx")
```
请注意,此代码要求安装了Pandas库。如果您还没有安装该库,请先安装它。
请编写一段可运行的python代码处理excel内的数据,将每一列单元格内数据以逗号为界限分为两列,然后将数据的行与列颠倒,接着删除每个单元格中的所有符号,最后将处理好的新excel文件输出到桌面
以下是实现要求的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库存在差异,具体实现时需要根据实际情况进行调整。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)