python - Python - 使用重音字母
问题描述
我在 Python 中遇到重音字母问题。它不能真正用非重音字母替换重音字母,因为在数据框中搜索它们时它不会识别这些单词。
下面的代码将新列添加到数据框“ df_sb ”,并将字符串(Section Début 或 Section da Tête)与另一列的内容相结合。
问题是,当我在我的主脚本文件中运行下面的块时,它会正确地编写和显示带有重音字母的单词(Section Début和Section da Tête)。但是,这需要通过调用函数在不同的文件中执行。当我调用该函数并返回 df_sb 数据框(带有两列)时,由于某种原因它弄乱了重音字母。我不明白为什么会这样。
块 1:
from ipynb.fs.full.Untitled1 import *
df_sb = func_1()
块 2:
def func_1():
import pandas as pd
df_sb = ['One' , 'Two', 'Three']
df_sb = pd.DataFrame(df_sb)
df_sb.columns = ['NAME']
for i in range(0,len(df_sb['NAME']),1):
df_sb['SECTION_DEBUT'] = "Section Début: " + df_sb.loc[:,'NAME'] + " "
df_sb['SECTION_TETE'] = "Section da Tête: " + df_sb.loc[:,'NAME'] + " "
return(df_sb)
-> 在同一文件上调用和运行函数时的输出:
应该如何处理?
解决方案
这是源代码编码问题
当您获得正确的输出时,您的编辑器和运行代码的 Python 解释器都同意源编码,因此您可以正确表示非 ASCII 字符。
当您第二次运行它时,解释器没有使用与编辑器相同的编码。从生成的特定 mojibake 来看,编辑器使用的是 UTF-8,而解释器使用的是 latin-1。唉,这是错误的选择!
幸运的是,有一种简单的方法可以告诉 Python 解释器您的文件的正确编码是什么。在文件的最顶部,在任何其他代码上方(但可以选择在“shebang”行下方,例如#!/user/bin/python
)放置如下内容:
# coding=utf-8
实际上,您可以使用多种变体形式来编写它(某些 IDE 或其他复杂的文本编辑器可能会识别其中的几种,以确保它们也使用指定的编码)。这种编码声明的全部细节在PEP 263中有详细说明。
推荐阅读
- c# - 出队方法 C#
- javascript - Puppeteer 中的嵌套选择器
- firebase - FCM 发送到 vs 主题 vs 添加条件
- node.js - 如何在茉莉花中测试包装在 setImmediate 中的调用
- javascript - 检索 JSON api 数据时出错:Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
- apache-spark - 在 Databricks 中创建 SQL 用户
- c# - 我如何循环一个在每个循环中变化的随机整数
- python - Tkinter 按钮循环 - 如何创建具有多个按钮的循环?
- visual-studio-code - VS Code Extension 的说明不起作用
- python - 使用 BeautifulSoup 堆栈在分隔符 (HTML)中仅打印带有 ' 的 html 行