Json_to_csv

​ 有时我们获取到了数据的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:

猜你喜欢

转载自blog.csdn.net/u014229742/article/details/82493319