csv文件EXCEL默认打开乱码问题

news2024/9/28 1:26:44

         这里讨论的问题是,当用记事本打开带有中文字符的csv正常时,用excel打开却是乱码。

        简单概括就是:编码问题,windows的 excel打开csv文本文件时,默认使用的是系统内的ANSI,在中文环境下就是GB2312。如果写文件时,用的编码格式是UTF-8那么excel用GB2312打开肯定是乱码。

        一般两种方法,在文件创建时指定让Excel默认打开不乱码的编码,或者加BOM 标记(Byte Order Mark 字节顺序标记),让excel用指定的编码打开。

        所以解决的思路就很清晰:

        1.使用GB2312,gbk,gb18030这类windows下中文默认的编码。

        2.使用utf-8-sig即在文件头写入 0xEF、0xBB、0xBF,让excel识别出这是utf-8编码,用utf-8编码打开csv文件。

实例:

python 写csv文件时指定编码格式,如gb2312,gbk,gb18030,python的csv包不需要再文件头写入0xEF、0xBB、0xBF,直接指定utf-8-sig就可以。

with open('file.csv', 'w', newline='', encoding='gb18030', mode='wb') as file:  
    writer = csv.writer(file)  
    # 写入数据到CSV文件

如果是数据流返回,可以指定编码格式

"Content-Type": "application/octet-stream; charset=utf-8-sig"

写入utf-bom的csv

没有bom的utf

go 在文件头写入 BOM

func generateCSV(data [][]string) []byte {
	var buffer bytes.Buffer
	writer := csv.NewWriter(&buffer)
	for index, row := range data {
		if index == 0 {
			if len(row) > 0 {
				// 写入 UTF-8 BOM让excel自己识别csv
				row[0] = "\xEF\xBB\xBF" + row[0]
			}
		}
		writer.Write(row)
	}

	writer.Flush()
	return buffer.Bytes()
}

参考:

Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别? - 知乎

ASCII、GB2312、GBK、GB18030、Unicode、UTF-8、BIG5 编码分析_gb18030和gbk-CSDN博客

csv 文件打开乱码,有哪些方法可以解决? - 知乎

encoding - Microsoft Excel mangles Diacritics in .csv files? - Stack Overflow

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1262589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSH 下载及安装之 Windows Server

文章目录 1 概述1.1 操作系统截图1.2 下载 2 安装2.1 解压到指定路径2.2 CMD 到 OpenSSH 目录下2.3 安装 sshd 服务2.3 开放端口 222.4 配置开机自启 sshd 服务2.5 配置环境变量 path2.6 测试 3 连接3.1 使用 Xshell 连接3.2 输入登录用户名3.3 输入登录密码3.4 会话已建立 1 概…

03、K-means聚类实现步骤与基于K-means聚类的图像压缩(1)

03、K-means聚类实现步骤与基于K-means聚类的图像压缩(1) 03、K-means聚类实现步骤与基于K-means聚类的图像压缩(1) 03、K-means聚类实现步骤与基于K-means聚类的图像压缩(2) 开始学习机器学习啦&#xf…

攻关眼科难题!第一届爱尔眼科-四川大学科研基金完成立项

当前我国眼科患者数量不断增长,人民群众对高质量的眼健康的需要不断攀升,而目前国内眼科医疗资源远不能满足需求,疑难眼病诊疗能力及学术科研体系建设仍有较大进步空间。基于此,爱尔眼科携手四川大学共同设立爱尔眼科-四川大学科研…

深入了解MySQL数据库管理与应用

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 当涉及MySQL数据库管理与应用时,深…

手把手实操分享:1天开发一个教育类App!我是怎么办到的

最近项目组接了一个开发教育类APP的需求,经典要求:多快好省(功能样样有、项目要得急、还得低成本)手动🐶。组长开始让调研一下给个方案,结果我啃哧啃哧1天就搞出来了,目前运行良好。在此记录一下…

控价是什么意思

对价格进行控制,使其在一个目标范围内的行为被称为控价,那为什么要做控价,控价的前提是价格乱了,而品牌会对渠道中的低价进行控制,这就是品牌进行控价的目标,控制低价。 品牌可以选择自己去控价&#xff0c…

损失函数总结(十六):NRMSELoss、RRMSELoss

损失函数总结(十六):MSLELoss、RMSLELoss 1 引言2 损失函数2.1 NRMSELoss2.2 RRMSELoss 3 总结 1 引言 在前面的文章中已经介绍了介绍了一系列损失函数 (L1Loss、MSELoss、BCELoss、CrossEntropyLoss、NLLLoss、CTCLoss、PoissonNLLLoss、Ga…

基于微服务的新星购物电商系统的设计与实现

基于微服务的新星购物电商系统的设计与实现 摘要:这几年来,随着互联网的技术的快速发展和人们生活水平和质量的不断上升,在网上购买物品逐渐成为了人们日常生活中不可缺少的一部分,所以电子商务系统使用的技术也经历了非常快速的…

通达信抛物线SAR指标原理详解、参数设置及选股公式

抛物线指标(SAR)是由技术分析大师威尔斯威尔德(Welles Wilder)发明的,在其1978 年出版的《技术交易系统新概念》一书中介绍了该指标。SAR指标通过跟踪股票价格的动态变化,在走势图上以一系列点的形式显示,提供了一种判断趋势反转的方法&#…

【Python】jieba分词基础

jieba分词主要有3种模式: 1、精确模式:jieba.cut(文本, cut_allFalse) 2、全模式:jieba.cut(文本, cut_allTrue) 3、搜索引擎模式:jieba.cut_for_search(文本) 分词后的关键词提取: jieba.analyse.textrank(txt,t…

从入门到精通:了解接口测试的全流程!

扫盲内容: 1.为什么要做接口测试?2.怎样做接口测试?3.接口测测试点是什么?4.接口测试都要掌握哪些知识?5.其他相关知识? 一.为什么要做接口测试? ①.越底层发现bug,它的修复成本是…

mobaxterm 下载、安装、使用

下载 官网 MobaXterm free Xserver and tabbed SSH client for Windows 下载页面 MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download 点击下载 安装 双击安装 勾选协议 修改安装路径 ,等待安装完成 使用 启动 新建连接 输入主机用户名和密…

记一次请求接口出现400响应码的诡异错误实录

前言 最近业务碰到了一个诡异的400接口请求异常,部门用户通过浏览器访问会出现400响应码错误,部分用户又能正常访问。该接口用postman请求访问,都能正常返回数据。后端写客户端请求该接口,也都能返回正常的数据。本文就来记录一下…

世微 舞台灯深度调光 大功率 dc-dc降压恒流驱动IC APS54083

产品描述 APS54083 是一款 PWM 工作模式,高效率、外围简单、外置功率 MOS 管,适用于 5-220V 输入高精度降压 LED 恒流驱动芯片。输出最大功率150W最大电流 6A。APS54083 可实现线性调光和 PWM 调光,线性调光脚有效电压范围 0.5-2.5V.PWM 调光频率范围 10…

《工业和信息化领域数据安全行政处罚裁量指引(试行)》意见征求

11月23日,工业和信息化部网络安全管理局发布了《工业和信息化领域数据安全行政处罚裁量指引(试行)》,并且面向社会公开征求意见。 据悉,《工业和信息化领域数据安全行政处罚裁量指引(试行)》的推…

【挑战业余一周拿证】二、在云中计算 - 第 3 节 - Amazon EC2 定价

目录 第 3 节 - Amazon EC2 定价 一、按需 适用场景 二、Savings Plans 适用场景 三、预留实例 三种付款模式 四、Spot 实例 适用场景 五、专用主机 适用场景 关注订阅号 首页:【挑战业余一周拿证】AWS 认证云从业者 - 基础 课程目录:【挑…

玻色量子企业荣誉

2023年 2023.7 玻色量子创始人&COO马寅荣获“优秀共产党员”荣誉称号 2023.4 斩获“双金”!玻色量子在中国移动第七届创客马拉松大赛脱颖而出 2023.1 再创佳绩!玻色量子荣膺2022年德勤中国“朝阳明日之星” 2023.1 玻色量子荣为第二届朝阳区“…

SpringCloudAlibaba之Nacos的持久化和高可用——详细讲解

目录 一、Nacos持久化 1.持久化说明 2.安装mysql数据库5.6.5以上版本(略) 3.修改配置文件 二、nacos高可用 1.集群说明 2.nacos集群架构图 2.集群搭建注意事项 3.集群规划 4.搭建nacos集群 5.安装Nginx 6.配置nginx conf配置文件 7.启动nginx进行测试即可 一、Nacos持久…

JAVAEE初阶 多线程基础(四)

join的知识补充,线程的状态和线程安全 一.多线程完成运算操作二.多线程代码的变换2.1 转换成串行执行 三.join的参数四.获取线程的引用4.1用this方法获取实例4.2 用currentThread获取实例 五.线程的状态六.线程安全 一.多线程完成运算操作 可以发现,多线程并行比单线程的速度快…

操作系统安全实验一Linux系统的基本操作

一、实验要求 二、实验步骤 (1)Linux命令格式Linux系统中bash命令的一般格式是 :命令名[选项][处理对象]例:ls -la mydir 三、目录操作 ls指令 ls指令 ls指令 cd指令 pwd指令 四、文件操作 cat指令 cat指令 rm指令 cp指令 mv指令 五、系统权限设置 who指令 chmod指令 groups指…