删除python字符串中奇怪的双引号(从excel文件中)

删除python字符串中奇怪的双引号(从excel文件中),python,regex,string,python-3.x,punctuation,Python,Regex,String,Python 3.x,Punctuation,我正在使用xlrd将excel文件加载到python3。它们基本上是电子表格中的文本行。其中一些行上有引号。例如,一行可以是: 她说:“我叫詹妮弗。” 当我将它们读入python并将它们转换成字符串时,双引号作为一个奇怪的双引号字符读入,看起来像是斜体的双引号。我假设,由于某些编码问题或其他原因,python会将字符作为外来字符而不是实际的双引号读入。所以在上面的例子中,如果我将该行指定为“text”,那么我们将有如下内容(虽然不完全是因为我没有实际键入该行,所以假设“text”已经预先指定):

我正在使用xlrd将excel文件加载到python3。它们基本上是电子表格中的文本行。其中一些行上有引号。例如,一行可以是:

她说:“我叫詹妮弗。”

当我将它们读入python并将它们转换成字符串时,双引号作为一个奇怪的双引号字符读入,看起来像是斜体的双引号。我假设,由于某些编码问题或其他原因,python会将字符作为外来字符而不是实际的双引号读入。所以在上面的例子中,如果我将该行指定为“text”,那么我们将有如下内容(虽然不完全是因为我没有实际键入该行,所以假设“text”已经预先指定):

第二行将抛出一个False,因为它似乎无法将其识别为正常的双引号字符。我在Mac终端内工作,如果这有区别的话

我的问题是: 1.有没有办法轻松地去掉这些奇怪的双引号? 2.当我读入文件时,有没有办法让python正确地将它们识别为双引号

我假设在这个过程中的某个地方,python将字符作为某个外来字符读入

对,;它将其读入,因为这就是文件数据实际表示的内容

而不是由于某些编码问题或其他原因导致的实际双引号

编码没有问题。实际字符不是“实际双引号”

有没有办法轻松地去掉这些奇怪的双引号

您可以像通常一样使用字符串的
.replace
方法,将其替换为“实际双引号”或不替换

当我读入文件时,有没有办法让python正确地将它们识别为双引号

如果你在寻找它们,你可以将它们与它们实际的角色进行比较

如评论中所述,它们很可能是和。它们的使用使得开始引号和结束引号看起来不同(通过向不同方向弯曲),这是漂亮的排版通常会做到的(而不是使用程序员更方便的
)。您可以用Python用Unicode转义来表示它们,因此:

text[10] == '\u201c'

您也可以直接向Python询问此信息,方法是在Python命令行中询问
text[10]
(这将对其进行评估并向您显示表示),或者在脚本中明确地询问,例如
print(repr(text[10])

它们是Unicode:
是U+201C和
为U+201D。您需要将其替换为
为U+0022。
text[10] == '\u201c'