Zest、 2022-04-08 22:21 采纳率: 100%
浏览 55
已结题

Json转CSV格式中文乱码



import json
import csv

"""
需求:将json中的数据转换成csv文件
"""
def csv_json():
    # 1.分别 读,创建文件
    json_fp = open("poet.song.0.json", "r",encoding='utf-8')
    csv_fp = open("result.csv", "w",encoding='utf-8',newline='')

    # 2.提出表头和表的内容
    data_list = json.load(json_fp)
    # sheet_title = data_list[0].keys()
    sheet_title = {"诗人","诗","编号"}  # 将表头改为中文
    sheet_data = []
    for data in data_list:
        sheet_data.append(data.values())

    # 3.csv 写入器
    writer = csv.writer(csv_fp)

> 
> 
    # 4.写入表头
    writer.writerow(sheet_title)

    # 5.写入内容
    writer.writerows(sheet_data)

    # 6.关闭两个文件
    json_fp.close()
    csv_fp.close()


if __name__ == "__main__":
    csv_json()

用以上代码,工作区的文件是正常的,写入的文件乱码。

  • 写回答

1条回答 默认 最新

  • GavinHaydy 2022-04-08 22:38
    关注
    # 把12行的encoding改一下试试
    encoding='utf-8-sig'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月16日
  • 已采纳回答 4月8日
  • 创建了问题 4月8日