python - 有没有办法从excel工作表名称中去除空格
问题描述
我希望在名为“封面表”的文件中导入一个 excel 文件和一个特定的表。我如何确保如果工作表名称拼写错误,例如“封面”(那里有一个额外的空格),那么仍然选择了正确的工作表?
这就是我目前所拥有的:
df.pd.read_excel('../blabla/bla.xlsx', sheetname='Cover sheet')
解决方案
一个简单的空间删除是:
text = "english language"
text_without_spaces = text.replace(" ", "")
print(text_without_spaces)
然后您可以尝试导入有空格的和没有空格的,并相应地处理错误。
如果您想为这种用例提供更广泛的方法,我建议(明智地)使用 difflib 的 SequenceMatcher。SequenceMatcher 将比较两个字符串并返回一个从 0(完全不同)到 1(相同)的相似系数。
这是一个例子:
from difflib import SequenceMatcher
def similar(a, b):
return SequenceMatcher(None, a, b).ratio()
original_text = "english language"
test1_text = "english language"
test2_text = "Englishlanguage"
print(similar(original_text, test1_text))
print(similar(original_text, test2_text))
输出
1.0
0.9032258064516129
然后,您可以将 Excel 文件作为一个整体导入并使用上述函数比较工作表名称,并在比率大于 0.8 时采取行动:
for sheet_name in xls.sheet_names()
if similar(sheet_name, name_to_compare) > 0.8:
# do something
请务必考虑误报。
推荐阅读
- javascript - 如何在函数上创建数组显示?
- javascript - PHP函数:无法在Javascript Onclick事件中传递字符串值
- python - 如何在 Linux 中通过 Selenium ChromeDriver 和 Python 打开 Chromium 浏览器
- python - 将 pywin32 与 zmq 一起使用时出现奇怪的问题
- ios - 如何在物镜中的 UIImage 上添加球形滤镜效果(鱼眼) - C 或实时相机
- php - 使用ffmpeg根据视频分辨率调整水印
- visual-studio-code - tsserver 日志在哪里?
- delphi - FMX Delphi ComboBox 排序不存在
- javascript - 如何在每个请求中添加延迟
- jmeter - 我可以通过 JMeter 打开 Microsoft EDGE 吗?