【hacker的错误集】解决写入csv出现乱码和空行问题

简介: 用csv成功写入数据打开Excel会出现乱码和空行😐😐😐

1122c888f5eb451ca45734f43c724dab.jpg


错误内容



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)

cb7269593662427e8b20cc7ebb991cb9.png


错误分析



用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)

5831a58d3aee4765b19b7635fdd42ff8.png


结束语🏆🏆🏆


🔥推荐一款模拟面试、刷题神器网站

点击链接注册即可

1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单

2、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题

3、大厂笔试真题:字节跳动、美团、百度、腾讯…


相关文章
csv 如果是utf-8 那么excel打开的时候为啥是乱码
csv 如果是utf-8 那么excel打开的时候为啥是乱码
466 0
|
存储 数据采集
正确处理 CSV 文件的引号和逗号
CSV(Comma-Separated Values,逗号分割值),就是用纯文本的形式存储表格数据,最大的特点就是方便。但是你真的会处理 CSV 文件吗?数据包含引号或逗号,该怎么办?
593 0
|
1月前
|
Linux Shell
linux脚本格式要求
脚本格式要求 1.脚本以#!/bin.bash 开头 ./执行或者 sh ab.sh 变量定义 定义变量:变量名=值 输出变量需要加$ 撤销变量 unset 变量名 声明静态变量 readonly变量 不能unset
|
12月前
|
存储 数据挖掘 数据处理
【解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG 】
【解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG 】
660 0
|
4月前
|
JavaScript
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
1095 0
|
11月前
|
C#
C#之四十二 C# 读写文本文件乱码解决方案
C#之四十二 C# 读写文本文件乱码解决方案
316 0
|
存储 缓存 Python
excel打开csv乱码解决------------为什么pycharm里面csv不乱码,excel里面却乱码了
excel打开csv乱码解决------------为什么pycharm里面csv不乱码,excel里面却乱码了
467 0
excel打开csv乱码解决------------为什么pycharm里面csv不乱码,excel里面却乱码了
|
搜索推荐 机器人 定位技术
怎样写Robots文件?
在SEO优化网站结构时,控制网页抓取、索引是常用的技术。常用工具包括: 机器人文件。
158 0
怎样写Robots文件?
|
存储 数据格式 索引
【python基础教程】csv文件的写入与读取
CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件。python自带了csv模块,专门用于处理csv文件的读取
327 0
【python基础教程】csv文件的写入与读取
|
SQL 算法
【hacker的错误集】解决response.text获取中文乱码问题
在获取网页源代码时如果不指定页面所对应的编码格式就会出现中文是乱码的情况,这时需要找到页面所所对应的编码格式
141 0
【hacker的错误集】解决response.text获取中文乱码问题