Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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中读取带有汉字的csv文件_Python - Fatal编程技术网

如何在python中读取带有汉字的csv文件

如何在python中读取带有汉字的csv文件,python,Python,csv文件我有凌乱的代码,应该是中文字符。 我想把这个文件读入python,汉字不要像以前那样凌乱。我该怎么做? 我尝试了pandas.read_csv,其编码类似于gb2312或gb18030,它们都报告类似于UnicodeDecodeError的错误:“gb2312”编解码器无法解码第4位的字节0xae:非法多字节序列 我的数据: 代码名称LISTDATE FOUNDDATE时间日期EPTTM行业列表城市 000001.SZπ≥ÂÆâÈì∂Ë°å 3/4/1991 198712

csv文件我有凌乱的代码,应该是中文字符。 我想把这个文件读入python,汉字不要像以前那样凌乱。我该怎么做? 我尝试了pandas.read_csv,其编码类似于gb2312或gb18030,它们都报告类似于UnicodeDecodeError的错误:“gb2312”编解码器无法解码第4位的字节0xae:非法多字节序列

我的数据:

代码名称LISTDATE FOUNDDATE时间日期EPTTM行业列表城市 000001.SZπ≥ÂÆâÈì∂Ë°å 3/4/1991 19871222 8 1/1/2007 0.030477768 Ω»⁄∑˛ŒÒ …Ó€⁄ 000002.SZ¥∏1991年1月29日19840530 8年1月1日2007年0.025771537∑øµÿ≤˙ …Ó€⁄ 000004.SZõÜÜÜÜÜÊÄ14/1/1991 19860505 8 1/1/2007-0.05297144“Ω…” 000005.SZ¥∏ñÁ∫™ÊòüÊ∫ê 10/12/1990 19870730 8 1/1/2007 -0.024968897 ∑øµÿ≤˙ …Ó€⁄ 000006.SZÊ∑±Êå؉∏öA 27/4/1992 19850525 8 1/1/2007 0.074647402∑øµÿ≤˙ …Ó€⁄ 000007.SZÖÊñ∞•Ω,1992年4月13日19830311 NA 8 2007年1月1日NA∑øµÿ≤˙ …Ó€⁄ 000008.SZÁ•∑ûÈ´òÈìÅ 7/5/1992 19891011 8 1/1/2007 -0.010574387 ◊€∫œ …Ó€⁄
000009.SZ‰∏≠ÂõΩÂÆùÂÆâ 25/6/1991 19830706 8 1/1/2007 0.009576133 ∑øµÿ≤˙…Ó⁄

data06_16=pd.read_csv(“yourfile.csv”,encoding=“GBK”)

尝试添加等于GBK的编码,效果很好

作为截图


您确定文件是用gb2312编码的ASCII码吗?可能是UTF8码?您是如何指定编码的?开发人员试图“转换”该文件只需指定正确的编码。您发布的图像不显示中文字符。它是使用错误代码页读取的ASCII码。它已损坏。将源文件的示例发布在问题文本中,而不是作为图像。图像中的文本无法复制、编译,其字节值也无法检查@PanagiotisKanavos我想可能文本是中文(比如说UTF8),但是是用另一种方式打开的(一个字节?)编码。@Norrius这肯定是一个错误的编码,但我怀疑源代码是UTF8。如果是这种情况,每3个字节或每4个字节就会重复
U+0080
字形。ANSI范围以上的UTF8字符需要2+字节,第一个总是
U+0080
用于2-3字节字符或
U+10000
对于4字节字符。@Norrius我们无法确定,因为0x80在不同的代码页中被视为控制字符或欧元。不可能从图像中猜出每3字节是否有一个不可见的控制字符。如果OP发布了文本,这将很容易。事实上,可以尝试使用脚本检测代码页在将损坏的文本转换为Unicode并排除所有导致错误的代码页(�)或者像Ω这样的意外字符