今天在学习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)
版权声明:本文为博主原创文章,亲测代码可用