python写入中文数据到csv文件中乱码解决方法

今天在学习csv文件写入数据的时候发现,中文编译不出来,都是乱码。老师给出的那个例子上都是英文,英文是不会乱码的,就跟中文杠上了。因为刚接触这个csv文件,不太了解,就查了一下解决方法。

  • 在python3环境中,简单又直接,直接在打开文件中加个encoding属性,值为"utf-8",代码如下:
# 写数据到csv文件中
import csv

data = [
    ['name', 'age'],
    ['小红', 15],
    ['李华', 26],
    ['刘梅', 32]
]

# 打开文件,写入数据到里面
with open('example.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    for row in data:
        # 一条一条写入
        writer.writerow(row)
        

    # 全部一下写入
    writer.writerows(data)在这里插入代码片
  • python2环境的话,可以使用第三方包unicodecsv
import unicodecsv

data = [
    ['name', 'age'],
    ['小红', 15],
    ['李华', 26],
    ['刘梅', 32]
]

with open('results.csv','wb') as f:
    w = unicodecsv.writer(f,encoding='utf-8-sig')
    w.writerows(data)
    

版权声明:本文为博主原创文章,亲测代码可用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值