python - Openpyxl不修改单元格值
问题描述
所以我遇到了一个问题,我试图从 excel 电子表格的单元格中清除一堆换行符。我的程序遇到 \n 时会识别它,但 .strip() 和 .replace('\n', '') 不起作用。我在这里想念什么?
#!/usr/bin/env python3
""" Clean up undesired whitespace in some excel files """
from openpyxl import Workbook, load_workbook
Filename = input("Enter filename:\n")
wb = load_workbook(filename = Filename)
sheet = wb.active
max_row = sheet.max_row
max_column = sheet.max_column
for row in range(2, max_row + 1):
for col in range(1, max_column + 1):
print("In row: {} col: {}".format(row, col))
cell_obj = str(sheet.cell(row = row, column = col).value)
if cell_obj is not None:
if cell_obj[0] == ' ' or cell_obj[-1] == ' '
cell_obj.strip()
if '\n' in cell_obj:
cell_obj.replace('\n', '')
cell_obj.strip('\n')
if str('\n') in cell_obj:
cell_obj.replace(str('\n'), '')
if '\\n' in cell_obj:
cell_obj.strip('\\n')
sheet.cell(row=row, column=col).value = cell_obj
wb.save(filename=Filename)
解决方案
strip 和 replace 方法返回转换后的结果。它们不作用于原始的不可变字符串。你正在丢弃结果。
>>> a = 'test\n'
>>> a.strip()
'test'
>>> a
'test\n'
>>> b = a.strip()
>>> b
'test'
推荐阅读
- python-3.x - 你如何在 Python 中断言一个空列表?
- kendo-ui - Kendo MVC TreeView 未正确呈现“.k-in”项目
- prolog - 为什么 single_child() 在序言中不起作用?
- arrays - 不能在同一 VBA 子程序中为数组使用 If 语句和 For 语句
- python - python重复数据删除库中有任何类型可以跨电话匹配
- json - 如何在 json 文件上创建一个带有过滤器的阶段?
- javascript - 如何在angularjs工厂方法中制作常用功能
- javascript - 如何使用物化 css 将移动折叠 navarro 添加到 django?
- r - 使用阶跃函数的最大似然估计
- ios - 从“TCHMessageType”转换为不相关类型“String”总是失败