如何解决csv文件读写乱码问题
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,本篇内容主要讲解"如何解决csv文件读写乱码问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何解决csv文件读写乱码问题"吧!可能你有类似经历,用ex
千家信息网最后更新 2025年11月11日如何解决csv文件读写乱码问题
本篇内容主要讲解"如何解决csv文件读写乱码问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何解决csv文件读写乱码问题"吧!
可能你有类似经历,用excel打开一个csv文件,中文全部显示乱码。然后,手动用notepad++打开,修改编码为utf-8并保存后,再用excel打开显示正常。
今天使用Python,很少代码就能将上面过程自动化。首先,导入3个模块:
# coding: utf-8 # @author: zhenguo # @date: 2020-12-16 # @describe: functions about automatic file processing import pandas as pd import os import chardet
chardet 模块用于得到文件的编码格式,pandas 按照这个格式读取,然后保存为xlsx格式。
获取filename文件的编码格式:
def get_encoding(filename): """ 返回文件编码格式 """ with open(filename,'rb') as f: return chardet.detect(f.read())['encoding']
保存为utf-8编码xlsx格式文件,支持csv, xls, xlsx 格式的文件乱码处理。需要注意,如果读入文件为csv格式,保存时要使用xlsx格式:
def to_utf8(filename): """ 保存为 to_utf-8 """ encoding = get_encoding(filename) ext = os.path.splitext(filename) if ext[1] =='.csv': if 'gb' in encoding or 'GB' in encoding: df = pd.read_csv(filename,engine='python',encoding='GBK') else: df = pd.read_csv(filename,engine='python',encoding='utf-8') df.to_excel(ext[0]+'.xlsx') elif ext[1]=='.xls' or ext[1] == '.xlsx': if 'gb' in encoding or 'GB' in encoding: df = pd.read_excel(filename,encoding='GBK') else: df = pd.read_excel(filename,encoding='utf-8') df.to_excel(filename) else: print('only support csv, xls, xlsx format')上面函数实现单个文件转化,下面batch_to_utf8 实现目录 path 下所有后缀为ext_name文件的批量乱码转化:
def batch_to_utf8(path,ext_name='csv'): """ path下,后缀为 ext_name的乱码文件,批量转化为可读文件 """ for file in os.listdir(path): if os.path.splitext(file)[1]=='.'+ext_name: to_utf8(os.path.join(path,file))
调用:
if __name__ == '__main__': batch_to_utf8('.') # 对当前目录下的所有csv文件保存为xlsx格式,utf-8编码的文件文件读写时乱码问题,经常会遇到,相信今天这篇文章里的to_utf8,batch_to_utf8函数会解决这个问题,你如果后面遇到,不妨直接引用这两个函数尝试下。
到此,相信大家对"如何解决csv文件读写乱码问题"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文件
格式
乱码
编码
问题
函数
utf-8
内容
后缀
模块
目录
学习
实用
更深
两个
代码
兴趣
单个
实用性
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
铜陵网络安全和信息化专家库成员
网易我的世界开一年服务器
用友备份怎么导入数据库表
社区开展网络安全宣传总结
惠普服务器按电源键没反应
怎么找国家统计的数据库
美国思博伦 国产网络安全检测
漳平手机应用软件开发定制
为进一步提升网络安全
如何在数据库中添加索引降序
服务器需要做防御吗
网络技术安全学院北邮
网络安全 第三方人员 管理
法律系教师解读国家网络安全法
自学网络安全编程
图像在数据库是如何存储的
数据库有嵌套循环吗
网络安全工程培养方案
命令行设置代理服务器
sql远程服务器
创业网络技术培训费用多少
安庆医疗软件开发要多少钱
高级网络安全工程师专业就业薪酬
重庆正大软件开发有限公司
浙江参考软件开发销售价格
温州保丰软件开发有限公司
我经历的网络安全故事
延安油气勘探公司网络安全隐患
数据库连接默认最大连接池
怎么访问服务器