xlwings筛选出表格里的列名为'线上订单号', '状态', '订单类型',其中‘订单类型’数据为字符串 保存到新表格里
时间: 2024-01-12 18:03:19 浏览: 77
下面是使用xlwings筛选出表格里的特定列,并保存到新表格的示例代码:
```python
import xlwings as xw
# 打开原始表格
wb = xw.Book('原始表格.xlsx')
sheet = wb.sheets['Sheet1']
# 筛选出指定列
columns = ['线上订单号', '状态', '订单类型']
data = sheet.range('A1').expand('table').options(include=None, empty='', header=True).value
filtered_data = [[row[column] for column in columns] for row in data]
# 创建新表格并写入数据
wb_new = xw.Book()
sheet_new = wb_new.sheets[0]
sheet_new.range('A1').value = columns
sheet_new.range('A2').value = filtered_data
# 保存新表格
wb_new.save('筛选后的表格.xlsx')
```
上述代码中,我们首先使用`xlwings.Book()`打开原始表格,并使用`xlwings.sheets[]`选择要操作的工作表(这里选择了名为'Sheet1'的工作表)。
接着,我们使用`xlwings.Range().expand()`方法获取表格的范围,并使用`options()`方法指定参数,将表格中的空值转换为'',并将表头设置为True。这样可以方便我们后续的数据筛选操作。
然后,我们使用Python的列表推导式,筛选出指定列的数据,并将结果保存到`filtered_data`变量中。
接下来,我们使用`xlwings.Book()`创建一个新的工作簿,并使用`xlwings.sheets[]`选择第一个工作表。然后,我们使用`xlwings.Range().value`方法将列名和筛选后的数据写入新表格中。
最后,我们使用`xlwings.Book().save()`方法保存新表格。
阅读全文