python3 输出中文到csv显示乱码

  • 问题描述

想要存储对新闻页面的解析结果,安装数据库一直没有成功,所以打算先存入csv文件试试,就出现了编码的问题,初始代码是

        #存储解析到的内容
        with open('news_detail.csv','w',newline='',encoding="utf-8") as file:
            fieldnames = ['title','author','publish_time','sub_title','content','commentsNum']
            writer = csv.DictWriter(file,fieldnames = fieldnames)

            writer.writeheader()
            writer.writerow({'title':title,'author':author,'publish_time':time,'sub_title':subtitles,'content':contents,
                             'commentsNum':commentNum})

open方法的newline=' '和encoding = "utf-8"参数都是看了网上的解决方案加上去的,但是都没有解决问题,输出到的csv文件显示为

  • 仍然是在网上搜索,看到了下面这种参数设置方式,成功解决了乱码的问题
with open('news_detail.csv','w',newline='',encoding="utf-8-sig") as file:
  • csv文件中的中文显示正常,行里的内容也能和列名对应上了。

猜你喜欢

转载自blog.csdn.net/Try_my_best51540/article/details/84527110