Json_to_csv

115 篇文章 0 订阅
52 篇文章 2 订阅
本文介绍在将Json数据转换为Csv格式时遇到的UnicodeDecodeError问题及解决方案,通过指定编码方式encoding='utf-8-sig'成功解决。
摘要由CSDN通过智能技术生成

​ 有时我们获取到了数据的Json格式,但现在需要将其转换为csv格式,该怎么快速取出我们想要的内容呢?

import json, csv, sys
import pandas as pd
from pprint import pprint

import codecs
def print_col_to_csv(d):
    #去掉csv中空行
    f = open('ym.csv', 'w', newline='')
    csv_file = csv.writer(f)
    for obj_big in d: # read the big list [{},{}]
        for obj in obj_big: # read small list (each row)
            strlist=[str(obj['Key'])]  #获取key的值并转换成str类型
            strlist.extend([str(obj['Value'])])  #获取key的值并转换成str类型,然后追加到strlist中
            print(strlist)
            #将获取到的strlist写入到csv中
            csv_file.writerow(strlist)

with open('zhengzhuang.txt', encoding='utf-8-sig') as f:
    data = json.load(f)
print(data)
#打开Json的txt文件后,执行print_col_to_csv方法
print_col_to_csv(data)

​ 以上代码在编写过程中一直遇到这样的错误:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xbf in position 2: illegal multibyte sequence。百度和Google了各种方法都没有解决,最后的解决办法是在打开文件的时候加上编码方式:encoding=’utf-8-sig’。这种方式百度很久都没找到,唉,反正耗费了我很久的时间。不过没关系,以后快速获取json数据就全靠这个代码了。

with open('zhengzhuang.txt', encoding='utf-8-sig') as f:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值