import openpyxl # 打开 Excel 文件 data = openpyxl.load_workbook('cal.xlsx') rtable wtable.append([str(cell.value) if cell.value is not None else '' for cell in row]) AttributeError: 'str' object has no attribute 'append' = data.active # 创建新的 Excel 文件 wbook = openpyxl.Workbook() wtable = wbook.active.title = 'sheet1' count = 0 keyword = "叛徒" # 遍历每一行数据 for row in rtable.iter_rows(min_row=1, max_col=65, max_row=rtable.max_row): # 检查是否包含关键字 if any(keyword in str(cell.value) for cell in row): # 检查是否是空行 if all(cell.value == None for cell in row): continue # 复制该行数据到新的表格中 wtable.append([str(cell.value) if cell.value is not None else '' for cell in row]) count += 1 print(count) # 保存新表格 wbook.save('clh.xlsx')
时间: 2024-02-19 17:02:33 浏览: 176
这段代码的问题在于在创建新的 Excel 文件后,将它的标题(title)赋值给了一个字符串变量,而不是工作表对象。因此,在后续的代码中,将该字符串变量传递给了“append”方法,导致了这个错误。你可以将代码修改为以下形式:
```
# 创建新的 Excel 文件
wbook = openpyxl.Workbook()
wtable = wbook.active
wtable.title = 'sheet1'
count = 0
keyword = "叛徒"
# 遍历每一行数据
for row in rtable.iter_rows(min_row=1, max_col=65, max_row=rtable.max_row):
# 检查是否包含关键字
if any(keyword in str(cell.value) for cell in row):
# 检查是否是空行
if all(cell.value == None for cell in row):
continue
# 复制该行数据到新的表格中
wtable.append([str(cell.value) if cell.value is not None else '' for cell in row])
count += 1
print(count)
# 保存新表格
wbook.save('clh.xlsx')
```
这样修改后,应该就可以正常运行了。
相关问题
import openpyxl # 打开Excel文件 wb = openpyxl.load_workbook('example.xlsx') # 选择工作表 sheet = wb['Sheet1'] # 遍历单元格 for row in sheet.iter_rows(): for cell in row: # 判断单元格中是否有[] if cell.value == '[]': # 将[]替换为空白格 cell.value = '' # 保存Excel文件 wb.save('example.xlsx') 根据这个代码我怎么把单一sheet页改成所有
import openpyxl 是 Python 中导入 openpyxl 模块的语句。openpyxl 是一个用于读写 Excel 文件的 Python 库,可以方便地操作 Excel 文件中的数据。
import openpyxl # 打开Excel文件 workbook = openpyxl.load_workbook('example.xlsx') # 获取第一个工作表 sheet = workbook.active # 遍历工作表中的所有单元格,并将值用逗号隔开 data_str = '' for row in sheet.iter_rows(): row_data = [] for cell in row: row_data.append(str(cell.value)) data_str += ','.join(row_data) + '\n' # 将数据保存到文本文件 with open('example.txt', 'w') as f: f.write(data_str)
这段代码的作用是打开一个名为 "example.xlsx" 的 Excel 文件,获取第一个工作表,并将工作表中的所有单元格的值用逗号隔开,保存到一个名为 "example.txt" 的文本文件中。具体来说,代码使用 openpyxl 模块打开 Excel 文件,并通过调用 workbook.active 获取第一个工作表。然后,使用 sheet.iter_rows() 方法遍历工作表中的所有行,并使用一个嵌套的 for 循环遍历每一行中的所有单元格。在循环过程中,将每个单元格的值转换为字符串,并将其添加到一个名为 row_data 的列表中。最后,在每个行数据的末尾添加一个换行符,并使用 ','.join(row_data) 将整个行数据用逗号隔开。将所有行数据连接成一个字符串后,使用 with open() 打开一个名为 "example.txt" 的文件,并将数据写入该文件中。
阅读全文