Python json数据写入csv json excel文件
一.写入
写入csv和json, 可以使用csv这个包写, 我这里没有使用, 并且把写csv和json的写到一起了
具体的代码就不解释了
def write_file(file_name, items, file_type="json", mode="a+", csv_separ=",", is_close=True, is_count=True):
"""
file_name: file path or file name, example: ./data/test.csv or test or test.csv
items: data list, example: [{},{}]
file_type: csv or json, default json
mode: write mode, default a+
csv_separ: if file_type is csv, choose csv separ, default ,
is_close: write items, close file, default close
is_count: count write file num
"""
if not file_name.endswith(file_type):
file_name = "%s.%s" % (file_name, file_type) if not isinstance(items, (tuple, list)):
items = [items] is_exists = True
if not os.path.exists(file_name):
is_exists = False file = open(file_name, mode)
write_count = 0
for item in items:
if (file_type == "csv") and (not is_exists):
file.write(csv_separ.join(item.keys()) + "\n")
is_exists = True if file_type == "csv":
try:
value_list = [re.sub(r"[\r\t\n\s]+", "", str(v)) for v in item.values()]
file.write(csv_separ.join(value_list) + "\n")
except Exception as e:
print(item)
elif file_type == "json":
file.write(json.dumps(item, ensure_ascii=False) + "\n")
write_count += 1
if is_close:
file.close() if is_count:
data_dir, data_file_name = os.path.split(file_pname)
with open("%s/%s.csv" % (data_dir, "count"), "a+") as f:
f.write("%s,%s\n" % (data_file_name, write_count))
return write_count
二. 使用pandas写入excel文件
1. 安装pandas 和 openpyxl 模块
pip3 install pandas openpyxl
2. 写入excel文件
def write_xlsx(file_name, data, sheet_name="reviews", is_count=True):
"""
file_name: file path, example: /data/test.xlsx
data: data list, example: [{}, {}]
sheet_name: sheet name, dafault: reviews,
is_count: count write file num
"""
excelWriter = pd.ExcelWriter(file_name)
datas = pd.DataFrame(data=list(data))
datas.to_excel(excelWriter, sheet_name=sheet_name, engine="openpyxl", index=False)
excelWriter.save()
excelWriter.close()
if is_count:
data_dir, data_file_name = os.path.split(file_pname)
with open("%s/%s.csv" % (data_dir, "count"), "a+") as f:
f.write("%s,%s\n" % (data_file_name, write_count))
return len(data)
3. 报错
一般的情况下, 只需要将模块更新到最新版即可
如有问题欢迎交流
Python json数据写入csv json excel文件的更多相关文章
- python读取与写入csv,txt格式文件
python读取与写入csv,txt格式文件 在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中.将csv文件中的数据直接读取为dict类型和DataFrame是非常方便也很 ...
- python 将json格式的数据写入csv格式的文件中
# coding=utf-8 import json import csv # 重新进行配置读写数据时的默认编码 import sys reload(sys) sys.setdefaultencodi ...
- python读取txt、csv和excel文件
一.python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) fp = open('test.txt','r') lines = fp.readlines() fp.clo ...
- C#导出数据到CSV和EXCEL文件时数字文本被转义的解决方法
今天写C#导出datagrid数据到csv格式文件的时候,发现不管怎么尝试,凡是单元格里面全是数字的单元格,在用Excel打开的时候,都被自动转义成数据格式.数据查看极其不方便.最后google了一下 ...
- 将数据写入已有的excel文件
/** * 将反馈结果写入excel中 * */ public static void writeExcelResult(String url,List<Integer> result) ...
- Python数据写入csv格式文件
(只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...
- 【Python】通过python代码实现demo_test环境的登录,通过csv/txt/excel文件批量添加课程并开启课程操作--(刚开始 项目 页面 模块 元素这种鸟 被称作pageobject 等这些搞完 然后把你的定位器、数据 和脚本在分离 就是传说中那个叫数据驱动 的鸟)
一.1.通过csv文件批量导入数据 1 from selenium import webdriver from time import ctime,sleep import csv #循环读取每一行每 ...
- 【转】Python之数据序列化(json、pickle、shelve)
[转]Python之数据序列化(json.pickle.shelve) 本节内容 前言 json模块 pickle模块 shelve模块 总结 一.前言 1. 现实需求 每种编程语言都有各自的数据类型 ...
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...
随机推荐
- bootstrap-wizard向导插件的使用
引用文件 <link rel="stylesheet" href="bootstrap-wizard/bootstrap-wizard.css"> ...
- 【题解】Luogu P5328 [ZJOI2019]浙江省选
原题传送门 看起来挺妙实际很暴力的一题 已知每个选手的分数都是平面上的直线 题目实际就是让我们求每条直线在整点处最大是第几大 我们考虑先对所有的直线进行半平面交(因为\(a_i\)都是正整数,所以比普 ...
- Codeforces Round #581 (Div. 2)
A:暴力. #include<cstdio> #include<cstring> #include<iostream> #include<algorithm& ...
- 手把手教你打造高效的 Kubernetes 命令行终端
Kubernetes 作为云原生时代的操作系统,熟悉和使用它是每名用户的必备技能.本文将介绍一些提高操作 Kubernetes 效率的技巧以及如何打造一个高效的 Kubernetes 命令行终端的方法 ...
- Python进阶----进程间数据隔离, join阻塞等待, 进程属性, 僵尸进程和孤儿进程, 守护进程
Python进阶----进程间数据隔离, join阻塞等待, 进程属性, 僵尸进程和孤儿进程, 守护进程 一丶获取进程以及父进程的pid 含义: 进程在内存中开启多个,操作系统如何区分这些进程, ...
- HTML学习摘要1
在http://www.w3school.com.cn/ 学习前端知识,利用暑假,自主学习以拓展知识面 DAY 1 HTML 不是一种编程语言,而是一种标记语言 (markup language) 标 ...
- 原油petrolaeum石油 Archaic spelling of petroleum
petrolaeum (uncountable) Archaic spelling of petroleum petroleum See also: Petroleum Contents [hide] ...
- 实战FFmpeg + OpenGLES--iOS平台上视频解码和播放
一个星期的努力终于搞定了视频的播放,利用FFmpeg解码视频,将解码的数据通过OpenGLES渲染播放.搞清楚了自己想知道的和完成了自己的学习计划,有点小兴奋.明天就是“五一”,放假三天,更开心啦. ...
- Eclipse不支持tomcat8_compiler编译级别选不到1.8
-------------------------------------------------------------- Eclipse不支持tomcat8 如果你要使用tomcat8.0+版本的 ...
- Kubernetes集群开启Firewall
关于端口的官方说明:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ k8s ...