Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法从excel工作表名称中去掉空白_Python_Python 3.x - Fatal编程技术网

Python 有没有办法从excel工作表名称中去掉空白

Python 有没有办法从excel工作表名称中去掉空白,python,python-3.x,Python,Python 3.x,我希望导入一个excel文件和一个名为“封面”的文件中的特定表格。我如何确保如果工作表名称拼写错误,例如“封面工作表”(有额外的空间),那么仍然选择了正确的工作表 这就是我目前的情况: df.pd.read_excel('../blabla/bla.xlsx', sheetname='Cover sheet') 一种简单的空间移除方法是: text = "english language" text_without_spaces = text.replace(" ", "") print(te

我希望导入一个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

请确保您考虑了误报。

可能不是您想要的,但您可以获得excel文件的工作表列表,并使用xlrd从中开始工作

import xlrd
xls = xlrd.open_workbook(r'<path_to_your_excel_file>', on_demand=True)
xls.sheet_names()
导入xlrd
xls=xlrd.打开工作簿(r'',按需=True)
xls.图纸名称()

问题到底是由一个或多个空格组成,还是有更多的场景?