如何解决csv文件读写乱码问题
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"如何解决csv文件读写乱码问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何解决csv文件读写乱码问题"吧!可能你有类似经历,用ex
千家信息网最后更新 2025年01月19日如何解决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安全错误
数据库的锁怎样保障安全
计算机网络技术用处
取软件开发公司名字
策略服务器
装备软件开发是什么
高斯数据库 语法
服务器安全狗 织梦后台
科研项目管控软件开发平台
如何将项目部署到远程服务器
金铲铲之战的服务器区别
数据库基础知识答案
自己写的数据库连接池怎么初始化
11号令 网络安全
中学网络安全教育笔记
企业服务器如何升级
贸多多网络技术有限公司
安卓手机后台数据库怎么开发
数据库技术与应用创建数据库
肇庆工贸计算机网络技术
银行业网络安全报告2018
通信网络安全问题及其解决
机械臂控制软件开发
南开金蝶软件开发找哪家
税务网络安全风险
中兴服务器电话
青岛移动软件开发平台
数据库三级模式基本表
修复网络dns服务器未响应
山东省 网络技术大赛
php怎么提交到数据库中
泛微服务器维修配件报价