【hacker的错误集】解决写入csv出现乱码和空行问题
错误 解决 出现 乱码 写入 csv 问题 空行
2023-09-11 14:19:16 时间
✅作者简介:大家好我是hacker707,大家可以叫我hacker
📃个人主页:hacker707的csdn博客
🔥系列专栏:hacker的错误集
💬推荐一款模拟面试、刷题神器👉点击跳转进入网站
错误内容
import csv
# 数据
person = [
{'姓名': 'xxx', '年龄': 18, '爱好': '学习python'},
{'姓名': 'yyy', '年龄': 18, '爱好': '学习python'},
{'姓名': 'zzz', '年龄': 19, '爱好': '学习python'},
]
# 表头
header = ['姓名', '年龄', '爱好']
with open('person.csv', 'w', encoding='utf-8') as file_obj:
# 创建对象
dictWriter = csv.DictWriter(file_obj, header)
# 写表头
dictWriter.writeheader()
# 写入数据
dictWriter.writerows(person)
错误分析
用csv成功写入数据打开Excel会出现乱码和空行😐😐😐
居然:那应该怎么解决呢
解决方案
处理空行问题
在写入数据时传入newline=’ ’
处理写入Excel打开会出现乱码问题
只需要在原来写入的编码格式utf-8后面加-sig处理一下(utf-8-sig)
✅改正后代码:
import csv
# 数据
person = [
{'姓名': 'xxx', '年龄': 18, '爱好': '学习python'},
{'姓名': 'yyy', '年龄': 18, '爱好': '学习python'},
{'姓名': 'zzz', '年龄': 19, '爱好': '学习python'},
]
# 表头
header = ['姓名', '年龄', '爱好']
with open('person.csv', 'w', encoding='utf-8-sig', newline='') as file_obj:
# 创建对象
dictWriter = csv.DictWriter(file_obj, header)
# 写表头
dictWriter.writeheader()
# 写入数据
dictWriter.writerows(person)
结束语🏆🏆🏆
🔥推荐一款模拟面试、刷题神器网站
点击链接注册即可
1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单
2、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题
3、大厂笔试真题:字节跳动、美团、百度、腾讯…
相关文章
- web项目中关于引入JS/css文件, 浏览器console出现 net::ERR_ABORTED错误的解决方法
- Nacos客户端升级到2.x版本后,启动出现9848端口错误解决
- Elasticsearch常见错误及解决方法
- CentOS6.5升级autoconf版本,解决”Autoconf version 2.64 or higher is required“错误
- Python爬虫技术--基础篇--错误,调试和测试(中)
- Eclipse 出现Some sites could not be found. See the error log for more detail.错误 解决方法
- 记录一下lnferred type ‘xx ‘for type parameter ‘E‘is not within its bound; should implement ‘xx‘错误解决方法
- maven运行tomcat6出现错误Exception starting filter encodingFilter怎么解决
- Xcode真机调试中"There was an internal API error"错误解决方法
- 怎么解决java.lang.NoClassDefFoundError错误
- (OperationNotSupportedInTransaction) Cannot create namespace test.application in multi-document transaction 错误的解决方法
- Java中使用com.sun相关jar包出现编译错误,但是运行没有错误的解决方法和原因
- 常见Hibernate报错处理:出现“org.hibernate.QueryException: could not resolve property”和 is not mapped和could not locate named parameter错误的解决
- 【Unity3D日常BUG】导入工程出现错误“Creating unique file”的解决方法
- Layui使用笔记(二):tp5+layui实现分页 数据表单的使用 解决接口异常等错误
- [oracle 工程师手记]RMAN duplicate 发生ORA-19504、ORA-17502、ORA-15001、ORA-27140 错误的解决过程
- 【AD错误】导入PCB后Add nets 节点全为叉号的解决方法
- 执行游戏时出现0xc000007b错误的解决方法
- MySQL 8.x 报错 Public Key Retrieval is not allowed 错误的解决方法
- uView:如何正确的使用防抖和节流,以及如何解决错误:TypeError: Property value expected type of string but got null
- 微信支付什么参数都对,就是提示签名错误的几个可能原因
- pycharm 出现opencv(4.4.0)等等错误如何解决