Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.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
Pandas ©;而不是é;保存在utf-8文件中_Pandas_Csv_Encoding - Fatal编程技术网

Pandas ©;而不是é;保存在utf-8文件中

Pandas ©;而不是é;保存在utf-8文件中,pandas,csv,encoding,Pandas,Csv,Encoding,我用python编写了一个脚本,使用pandas将数据合并到csv文件中。我想我在打开文件时弄错了编码 现在,如果我使用UTF-8编码打开我的文件,我将使用©而不是“é”,就像我使用Windows 1252格式打开UTF-8文件一样。但是,我的文件是作为UTF-8文件打开的。所以我猜,我保存了UTF-8格式的字符 有人知道如何检索此文件中的正确数据吗?有没有一种方法,用特定的编码打开文件并保存在另一个文件中以检索原始数据 编辑: 总而言之,我所做的是: 在Windows-1252中编码的文件A

我用python编写了一个脚本,使用pandas将数据合并到csv文件中。我想我在打开文件时弄错了编码

现在,如果我使用UTF-8编码打开我的文件,我将使用©而不是“é”,就像我使用Windows 1252格式打开UTF-8文件一样。但是,我的文件是作为UTF-8文件打开的。所以我猜,我保存了UTF-8格式的字符

有人知道如何检索此文件中的正确数据吗?有没有一种方法,用特定的编码打开文件并保存在另一个文件中以检索原始数据

编辑:

总而言之,我所做的是:

  • 在Windows-1252中编码的文件A
  • 打开/解码为UTF-8
  • 在文件B中用UTF-8编码
  • 现在,当打开文件B时,我得到的数据不能像文件A一样,不管我是用UTF-8还是Windows-1252解码它

我现在正在搜索解码/编码序列,该序列将从您描述的详细信息中恢复原始数据(谢谢!),我们知道:

  • 文件中的数据实际上是UTF-8格式的,并且

  • 您打开/阅读它的方式不是使用UTF-8(可能使用Windows-1252或ISO 8859-1)

UTF-8中
é
的字节序列是0xC3 0xA9;如果您使用Windows-1252(例如)读取该字节序列,您将得到

你说过:

现在,如果我使用UTF-8编码打开我的文件,我有©而不是“é”


…但这一症状相当清楚地表明,无论您如何打开和阅读它,它都是使用Windows-1252或类似的工具,而不是UTF-8。因此,这就是您需要解决的问题。文件中的数据是UTF-8格式的。

谢谢您的编辑。我使用SublimiteText2以UTF-8格式打开它,它表示为“U”)。现在,如果我以ANSI格式打开它(“用编码重新打开…->Windows-1252”)它表示“Ô)而不是“é”。这就像我一开始就搞砸了,用错误的编码打开了它,但保存后,它现在用UTF-8保存了错误的字符。(“é”用UTF-8编码而不是“é”用UTF-8编码)如果我用ISO 8859-1打开它,而不是“é”我有“Ô)".我不确定我是否可以理解,但总而言之,我想你的答案是描述最初的错误,但最后,我以UTF-8编码格式保存了该错误。因此,如果我以UTF-8格式打开它,它看起来就像我在用Windows-1252解码UTF-8编码的数据。TLDR:我的文件现在一团糟,我想知道是否可以反转this@T.Nel-这是肯定的很可能它最初是用Windows-1252或其他什么东西打开的,然后保存为UTF-8,这将(如您所说)以UTF-8的形式在其中嵌入
。我可能会使用UTF-8打开文件,搜索32-127范围之外的任何字符,然后仔细检查/修复它们。恐怕没什么意思。50多万行!:')我想知道我是否可以只做一个脚本来搜索/替换,但我担心数据的完整性。我仍然可以重新生成数据,但正在寻找更快的补丁。谢谢你的回答,我想我会选择第二种选择。为了以防万一,我会让这个问题先讨论一下,如果没有人能提供解决方案,我会接受你的答案。@T.Nel-再生听起来是你最好的选择。:-)