使用python,打开excel,将文件中所有sheet内的每一rows的第18、19、20columns的数值相加为0的整行删除
时间: 2023-05-20 20:01:49 浏览: 45
可以使用 pandas 库来实现这个功能,具体代码如下:
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('your_excel_file.xlsx', sheet_name=None)
# 遍历每个 sheet
for sheet_name, sheet_data in df.items():
# 将第 18、19、20 列相加
sum_col = sheet_data.iloc[:, 17:20].sum(axis=1)
# 找到和为 0 的行
zero_sum_rows = sheet_data[sum_col == 0]
# 删除这些行
sheet_data.drop(zero_sum_rows.index, inplace=True)
# 将修改后的数据保存回 Excel 文件
with pd.ExcelWriter('your_excel_file.xlsx') as writer:
for sheet_name, sheet_data in df.items():
sheet_data.to_excel(writer, sheet_name=sheet_name, index=False)
```
这段代码会读取指定的 Excel 文件,遍历每个 sheet,将每个 sheet 内的第 18、19、20 列相加,找到和为 0 的行,然后删除这些行。最后将修改后的数据保存回 Excel 文件。
相关问题
使用python的openpyxl库,打开选中的excel,将每个sheet的所有行复制到1个新excel的同1个sheet内
可以使用openpyxl库中的load_workbook()函数打开选中的excel文件,然后使用for循环遍历每个sheet,再使用for循环遍历每个sheet中的所有行,将每行的数据复制到新excel的同一个sheet内。具体代码实现可以参考以下示例:
```python
from openpyxl import load_workbook
from openpyxl.utils import get_column_letter
from openpyxl.styles import Font
# 打开选中的excel文件
wb = load_workbook('selected_excel.xlsx')
# 创建新excel文件
new_wb = Workbook()
new_ws = new_wb.active
# 遍历每个sheet
for sheet_name in wb.sheetnames:
sheet = wb[sheet_name]
new_ws.title = sheet_name
# 遍历每个sheet中的所有行
for row in sheet.iter_rows():
# 复制每行的数据到新excel的同一个sheet内
new_ws.append([cell.value for cell in row])
# 保存新excel文件
new_wb.save('new_excel.xlsx')
```
这段代码可以将选中的excel文件中的所有sheet的所有行复制到一个新excel文件的同一个sheet内。注意,如果选中的excel文件中有多个sheet,新excel文件中的sheet名称会与选中的excel文件中的sheet名称相同。
使用python的openpyxl库,打开选中的excel,遍历sheet内每一行的S、T、U列的数据的绝对值相加,若数字相加为0,则删除这一行
可以使用以下代码实现:
```python
import openpyxl
# 打开选中的excel文件
workbook = openpyxl.load_workbook('selected_excel.xlsx')
# 遍历每个sheet
for sheet in workbook.worksheets:
# 遍历每一行
for row in sheet.iter_rows():
# 获取S、T、U列的值
s_value = row[18].value
t_value = row[19].value
u_value = row[20].value
# 计算绝对值之和
sum_abs = abs(s_value) + abs(t_value) + abs(u_value)
# 如果为0,则删除这一行
if sum_abs == 0:
sheet.delete_rows(row[0].row, 1)
# 保存修改后的excel文件
workbook.save('selected_excel.xlsx')
```
注意:需要根据实际情况修改列的索引值。