import pandas as pd
df = pd.read_csv('shuju.vcf', sep='\t', comment='#', header=None,encoding='utf-8')
df.to_excel('outputFile2.xlsx', index=False,encoding='utf-8')
以上就是转成功的截图,需要注意的是一定要写入编码方式,UTF-8 ,第一次我没有写编码方式转换出的文件是乱码的。
需要注意的是以下这个代码可能有的代码会出现,但是现在已经不用了。
import sys
sys.setdefaultencoding('utf-8')
主要原因是Python3中移除了sys.setdefaultencoding这个函数。在Python2中,可以通过sys.setdefaultencoding来修改Python的默认编码:
但是在Python3中,这个函数被移除了。因为Python3的内部默认编码就是UTF-8,不再需要修改。所以如果在Python3下运行上面的代码,会报错:AttributeError: module 'sys' has no attribute 'setdefaultencoding'解决方法是:1. 如果确实需要修改Python编码,可以设置环境变量PYTHONIOENCODING=utf82. 最好的方法是删除sys.setdefaultencoding这行代码,Python3会自动使用UTF-8编码,不需要手动设置。3. 如果代码需要同时兼容Python2和Python3,可以添加版本判断:
import sys
if sys.version_info[0] < 3:
sys.setdefaultencoding('utf-8')
这样就可以避免不同Python版本报错的问题。总之,需要注意Python3中删除了sys.setdefaultencoding,不再需要手动设置编码。删除或忽略这行代码可以解决问题。