Python-爬虫-(Json和Csv)文件存储

用解析器解析出的数据后,可以通过TXT、JSON、CSV等文件形式进行存储;

1、TXT形式此处略;

2、JSON文件存储

json即js 对象标记,是一种数据格式;

json格式:

json对象:{"username":"ADMIN","pwd":"xxxx","address":"北京"}

json数组:[{"name":"smith","age":"23"},{"name":"jones","age":"23"},{"name":"zye","age":"23"}]

例如:

 1 import json
 2 str=‘‘‘
 3 [{"name":"小明","age":"23"},{"name":"jones","age":"23"},{"name":"zye","age":"23"}]
 4 ‘‘‘
 5 print(type(str))
 6 obj=json.loads(str)#将json格式字符串转为json
 7 print(type(obj))
 8 #取值
 9 print(obj[0][‘name‘])
10 print(obj[1][‘age‘])
11 print(obj[1].get(‘name‘))
12 print(obj[1].get(‘address‘,‘北京‘))#即如果该字段为None或者该key不存在时,会采用默认值;即第二个参数为默认值
13
14 #加载一个json文件
15 with open("read.json",‘r‘) as file:
16     s=file.read()
17     j=json.loads(s)
18     print(j[0][‘name‘])
19
20 #输出json
21 jsonArray=[{‘name‘:‘sd‘},{‘name‘:‘ss‘}]
22 with open(‘test.json‘,‘w‘) as  file:
23     file.write(json.dumps(jsonArray))
24
25 #或者:
26 jsonObj=json.loads(str)
27 with open(‘test.json‘,‘w‘) as file:
28     file.write(json.dumps(jsonObj))
29
30 #或者:如果有中文,且想格式化
31 jsonObj=json.loads(str)
32 with open(‘test.json‘,‘w‘,encoding=‘utf-8‘) as file:
33     file.write(json.dumps(jsonObj,indent=2,ensure_ascii=False))#格式化了json,

写入test.json后格式:

[  {    "name": "小明",    "age": "23"  },  {    "name": "jones",    "age": "23"  },  {    "name": "zye",    "age": "23"  }]

原文地址:https://www.cnblogs.com/ygzhaof/p/10209805.html

时间: 2024-07-30 08:30:11

Python-爬虫-(Json和Csv)文件存储的相关文章

java调用Linux执行Python爬虫,并将数据存储到elasticsearch--(环境脚本搭建)

java调用Linux执行Python爬虫,并将数据存储到elasticsearch中 一.以下博客代码使用的开发工具及环境如下: 1.idea: 2.jdk:1.8 3.elasticsearch:5.2.0 4.Linux 5.Python 6.maven 二.maven坐标: <!--java连接ulinix脚本架包--> <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>

数据之路 - Python爬虫 - Json模块与JsonPath

一.什么是Json? json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构. 对象:对象在js中表示为{ }括起来的内容,数据结构为 { key:value, key:value, ... }的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是数字.字符串.数组.对象这几种. 数组:数组在js中是中括号[ ]括起来的

python中如何将csv文件转为xls文件

废话开端 要实现将csv文件转换为xls文件,就需要用到python中非常强大的第三方库---pandas.之前基本没用过pandas,对它可以说是一点都不了解,但是最近在工作中要经常处理各种Excel.csv文件,就不得不用到了,也还是处于学习阶段,一边学习,一边总结记录.那我们都知道pandas不仅可以操作Excel,csv,而且还可以处理json.pickle.html.table等等各种类型的数据.功能强大,非常实用,深受广大程序猿的喜爱,实属开发之必备良品啊! 代码实现 from io

python将json转csv

现有一个需求要将json转成excel,使用python将其转为csv格式,使用excel打开即可. import json import csv import codecs f = open('test.json') data = json.load(f) #print(data) f.close() f = codecs.open('test.csv', 'w', 'utf_8_sig')#解决写入csv时中文乱码 writer=csv.writer(f); for item in data

python读取和写入csv文件

----------------python读取csv文件------------------ #导入csv 创建一个csv文件,输入内容 import csv #1.找到需要被打开的文件路径,通过open打开文件,声明打开的方式,声明编码格式 csv_file=open(r'csv文件路径', mode='r', encoding='utf-8') #2.通过csv模组提供的读取方法来读取打开的文件 csv_data=csv.reader(csv_file) #3.通过for循环遍历读取数据存

python读取两个csv文件数据,进行查找匹配出现次数

现有需求 表1 表2 需要拿表1中的编码去表2中的门票编码列匹配,统计出现的次数,由于表2编码列是区域间,而且列不是固定的,代码如下 #encoding:utf-8 ##导入两个CSV进行比对 import csv ##读取编码 def GetQrCode(filePath): #定义一个空的list集合 list = set() csv_file = csv.reader(open(filePath, 'r')) for item in csv_file: # 判断字符串是否为纯数字 if (

python读取并写入csv文件

新建csvData.csv文件 1 import csv 2 3 # 读取csv文件方式1 4 csvFile = open("csvData.csv", "r") 5 reader = csv.reader(csvFile) # 返回的是迭代类型 6 data = [] 7 for item in reader: 8 print(item) 9 data.append(item) 10 11 print(data) 12 csvFile.close() 13 14

python合并多个csv文件并去重

#coding=utf-8 import os import pandas as pd import glob def hebing(): csv_list = glob.glob('*.csv') print(u'共发现%s个CSV文件'% len(csv_list)) print(u'正在处理............') for i in csv_list: fr = open(i,'r').read() with open('haha.csv','a') as f: f.write(fr)

Python数据分析基础——读写CSV文件2

2.2筛选特定的行: 行中的值满足某个条件 行中的值属于某个集合 行中的值匹配于某个模式(即:正则表达式) 2.2.1:行中的值满足于某个条件: 基础python版: 1 #!/usr/bin/env python3 2 import csv 3 import sys 4 5 input_file = sys.argv[1] 6 output_file = sys.argv[2] 7 8 with open(input_file, 'r', newline = '') as csv_in_fil

java调用Linux执行Python爬虫,并将数据存储到elasticsearch中--(java后台代码)

该篇博客主要是java代码,如需相应脚本及java连接elasticsearch工具类代码,请移步到上一篇博客 一.创建连接执行Linux脚本工具类 package com.yjlc.platform.utils.Elasticsearch; import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.StreamGobbler; import java.io.*; /** * -------------------------------------