jsonToxls jsonTocsv csvTojson xlstocsv 文件转换

 
  
#coding = utf-8
import xlrd
import csv

# excel 转换 csv
w = xlrd.open_workbook("data.xls")
sheet = w.sheet_by_name(w.sheet_names()[0])
data = []
for row in range(1,sheet.nrows):
    d = {}
    for col in range(sheet.ncols):
        d[sheet.cell_value(0,col)] = sheet.cell_value(row,col)
    data.append(d)
# 将data写入csv
with open("data.csv",mode="w",encoding="utf-8",newline="") as file:

     wirte = csv.DictWriter(file,fieldnames =data[0])
     wirte.writeheader()
     # print(content)
     for i in data:
        wirte.writerow(i)
 
  

 

#coding=utf-8
import json,csv

def csvTojson(a,b):
    global jsonlist
    jsonlist=[]
    with open(a,'r',encoding='utf-8') as fils:
        reader=csv.DictReader(fils)
        for i in reader:
            jsonlist.append(dict(i))
            #读出是列表包字典
    with open(b,'w',encoding='utf-8') as jsond:
        #写入是列表加字典文件
#
ensure_ascii=''不用ascii编码格式
        json.dump(jsonlist,jsond,ensure_ascii='')
        print(jsonlist)
        print('成功')

if __name__ == '__main__':
    csvTojson('date.csv','tojson.json')
#coding=utf-8
import json,csv

def jsonTocsv(paths,pathd):
    global filed
    with open(paths,'r',encoding='utf-8') as filed:
        #读入是列表
        filed=json.load(filed)
        print(filed)
#不空行
    with open(pathd,'w',encoding='utf-8',newline='') as csvfile:
        #字典写入模式
        write=csv.DictWriter(csvfile,filed[0])
        write.writeheader()
        for i in filed:
            write.writerow(i)
        print('成功')

if __name__ == '__main__':
    jsonTocsv('date.json','tocsv.csv')
#coding=utf-8
import json,xlwt
def jsonToexcel(paths,b):
    global filed
    with open(paths,'r',encoding='utf-8') as filed:
        filed=json.load(filed)
        print(filed)
    filepath='D:/untitled/1022toxls.xls'
    workbook=xlwt.Workbook()
    sheet=workbook.add_sheet('sheet1')
#提取表头 写入表头
    header=[i for i in filed[0]]
    for i in range(len(header)):
        sheet.write(0,i,header[i])

#遍历出json列表字典的值
    global listdd
    listdd=[]
    for iss in filed:
        bb=[]
        for j in iss.values():
            bb.append(j)
        listdd.append(bb)
#写入值
    for j in range(1,len(listdd)+1):
        for i in range(len(header)):
            sheet.write(j, i, listdd[j-1][i])

    workbook.save(filepath)
    print('成功')

if __name__ == '__main__':
    jsonToexcel('date.json','toxls.xls')

 

转载于:https://www.cnblogs.com/huazhou695/p/9885956.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值