使用openpy打开sheet表格,表格名称命名为ws, 对B列, Q列,F列,J列这几列中的内容进行判断后,均进行数值排名或数值排序,进行升序配列后,修改后的内容保存在原表中
时间: 2023-06-06 10:06:55 浏览: 180
好的,这个问题属于技术问题,我可以为您提供一些思路和代码。首先,您需要使用 openpyxl 库读取和修改 Excel 文件。以下是一些示例代码:
```python
from openpyxl import load_workbook
from openpyxl.utils import column_index_from_string
from openpyxl.utils.cell import get_column_letter
# Load the workbook and select the worksheet
workbook = load_workbook('example.xlsx')
worksheet = workbook['ws']
# Define the columns to be sorted
columns = ['B', 'Q', 'F', 'J']
# Loop through each column, extract the values and sort them
for col in columns:
column_index = column_index_from_string(col)
values = []
for row in range(2, worksheet.max_row+1):
value = worksheet.cell(row=row, column=column_index).value
if value is not None:
values.append(value)
values.sort()
# Modify the cell values with the sorted values
for index, value in enumerate(values):
row = index + 2
worksheet.cell(row=row, column=column_index).value = value
# Save the modified workbook
workbook.save('example.xlsx')
```
这段代码将会打开一个名为 example.xlsx 的文件,并选中一个名字为 ws 的工作表。然后,代码将会对列为 B、Q、F 和 J 的每一列进行排序。这个代码会忽略空值并对非空值进行排序。最后,修改后的文件将保存回原表格中。
希望这个示例代码能够帮助您解决这个问题!
阅读全文