所使用python模块为json、csv等。

一、json文件读写

1、JSON简介:其全名为JavaScript Object Notation是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。

2、JSON文件读写的基本函数为dump()和dumps()以及load()和loads()。它们之间的区别是:通过json的dumps模块可以把特定的对象如list和dict序列化处理为字符串;而loads则是dumps的逆过程,即将形似list和dict的字符串转化为特定的对象。dumps和loads均在内存中转换,而dump和load则会多一个步骤,dump把序列化后的字符串写到一个文件中,load则从文件中读出字符串再转化为相应的对象。

3、json文件读写的操作store_json(data,filename):

(filename, ) json_file:

load_json(filename):

(filename) json_file:

data = json.load(json_file)

data

4、相关函数参数:

dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding='utf-8', default=None, sort_keys=False, **kw)

作用:Serialize ``obj`` to a JSON formatted ``str``.

dump(obj,fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding='utf-8', default=None, sort_keys=False, **kw)

作用:Serialize ``obj`` as a JSON formatted stream to ``fp`` (a``.write()``-supporting file-like object).

参数解释:Skipkeys:默认值是False,如果dict的keys内的数据不是python的基本类型(str,unicode,int,long,float,bool,None),设置为False时,就会报TypeError的错误。此时设置成True,则会跳过这类错误

ensure_ascii:默认值True,如果dict内含有non-ASCII的字符,则会类似\uXXXX的显示数据,设置成False后,就能正常显示

indent:应该是一个非负的整型,如果是0,或者为空,则一行显示数据,否则会换行且按照indent的数量显示前面的空白,这样打印出来的json数据也叫pretty-printed json

separators:分隔符,实际上是(item_separator, dict_separator)的一个元组,默认的就是(',',':');这表示dictionary内keys之间用“,”隔开,而KEY和value之间用“:”隔开。

encoding:默认是UTF-8,设置json数据的编码方式。

sort_keys:将数据根据keys的值进行排序。

5、json与python之间的数据类型转换

二、csv文件读写

以下为csv文件读写的操作store_csv(data,filename):

(filename, ) csvfile:

writer = csv.writer(csvfile,=)

writer.writerows(data)load_csv(filename):

(filename) csvfile:

reader = csv.reader(csvfile) data=[]

item reader:

data.append(item)

csvfile.close()

returndata

在python3.x的版本中在open函数增加一个参数newline=''即可。

在python2.7版本中文件打开的方式使用“wb”

错误一:excel打开csv文件显示乱码

错误二:写入csv时报错:_csv.Error: field larger than field limit (131072)

加入以下代码:

importsys

importcsv

csv.field_size_limit(sys.maxsize)

再次报错:OverflowError: Python int too large to convert to C long

importsys

importcsv

maxInt=sys.maxsize

decrement=True

whiledecrement:

# decrease the maxInt value by factor 10

# as long as the OverflowError occurs.

decrement=False

try:

csv.field_size_limit(maxInt)

exceptOverflowError:

maxInt=int(maxInt/10)

decrement=True

可以使用

三、excel文件读写

转载本文请联系原作者获取授权,同时请注明本文来自郗强科学网博客。

链接地址:http://blog.sciencenet.cn/blog-3360373-1087105.html

上一篇:强化学习简介

下一篇:社会网络分析工具简介

python中几种读取文件的方法_科学网—python中几类文件的读写 - 郗强的博文相关推荐

  1. mh采样算法推导_科学网—MCMC中的Metropolis Hastings抽样法 - 张金龙的博文

    Metropolis Hastings抽样法示例 jinlongzhang01@gmail.com Metropolis Hasting(下面简称MH)是蒙特卡罗马尔科夫链中一种重要的抽样方法.本文简 ...

  2. matlab中的mkdir函数_科学网—Matlab中计算函数运行时间的三种方法及判断新建文件夹 - 张伟的博文...

    (一)运行时间 1.tic和toc组合 计算daotic和toc之间那专段程序之间的属运行时间,它的经典格式为 : tic 函数 toc 复制函数代码,当代码遇到tic时Matlab自动开始计时,运行 ...

  3. python 面板数据分析_科学网—Python中的结构化数据分析利器-Pandas简介 - 郑俊娟的博文...

    此文转载于XXXXXX处... Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数 ...

  4. python打开dat文件_科学网—Python: 文件的打开,读写和关闭 - 刘洋洋的博文

    文件打开,读写和关闭的顺序: 打开文件:# 打开后才能进行读写 读文件或写文件: 文件关闭.# Python会缓存写入的数据,如果程序异常崩溃,数据就不能写入到文件当中.安全起见,文件用完后要主动关闭 ...

  5. excelexportentity中设置null不显示的方法_学习笔记-Java中的$符

    JavaEE中$符号出现在两个地方,一个是前端jQuery中的$(),一个是后端JSP中的EL表达式${}. 一.$()中放不同的东西代表不同的含义,(1)$(function(){}),表示文档加载 ...

  6. python写乘法口诀表好记方法_如何用python编写乘法口诀表

    如何用python编写乘法口诀表?首先要明确一下思路,我们可以确定x,y两个变量,弄清楚其变化的规律,再使用循环嵌套实现.下面是如何用Python编写乘法口诀表的具体方法. 第一种:使用for遍历循环 ...

  7. python读取哨兵卫星数据_科学网—【Python】批量下载Sentinel-2卫星数据 - 江佳乐的博文...

    简介:本文介绍了一种基于Python批量下载Sentinel-2卫星数据的方法.通过该方法,用户可自定义感兴趣研究区(ROI).限定时间范围.选择产品类别.进行云量筛选,实现自动化批量下载Sentin ...

  8. matlab trapz二重积分函数_科学网—MATLAB中的数值积分方法 - 王福昌的博文

    实际应用中在MATLAB里面都有开发好的命令可以使用,如  quad(), quadl(),quad2d(),triplequad() .需要掌握这些命令的用法. 1. 定积分 trapz(),qua ...

  9. python中rand函数是什么意思_科学网-Python中*和**作用及随机数产生函数 np.random.rand()/numpy.random.unifo...-张伟的博文...

    [第一部分] Python中的 * 和 ** ,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的! 一. 打包参数 * 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整 ...

最新文章

  1. GBDT(MART) 迭代决策树入门教程 | 简介 .
  2. Spring MVC生成PDF文件代码示例
  3. js json制表符报错_JS自学_常见错误复盘
  4. 借款人死亡后,贷款必须由家属偿还吗?
  5. JDK8新特性之方法引用
  6. linux中hadoop命令大全,hadoop常用命令
  7. 设计包含min函数的栈,O(1)空间实现方法
  8. 三星副会长李在镕启程赴美
  9. PowerDesigner设置线风格(直线,折线。。。)
  10. matlab相关性分析频谱_利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]
  11. 中职计算机专业建设构想,《关于技能大赛引导中职计算机专业建设的思考原稿》...
  12. 机器学习十大经典算法——knn
  13. APP,webapp 设计相关资料汇集区
  14. 三大框架 —— 持久层框架MyBatis
  15. 漫画C语言 做个聊天软件你不懂也得懂
  16. 想自学单片机,各位有什么书和板子值得推荐的吗?
  17. DelayQueue 分析
  18. 〖Python 数据库开发实战 - MySQL篇㉒〗- 子查询的语法规则
  19. bzoj 2429 聪明的猴子
  20. 如何应用font Awesome矢量字体图标介绍

热门文章

  1. 运用简单队列、栈实现简单纸牌游戏
  2. M201: MongoDB Performance chapter 3 Index Operations学习记录
  3. LoRaWAN协议-MAC帧格式详解
  4. 【c语言】判断一个字符串是否包含另一个字符串
  5. 字节、位、bit、byte、KB、B、字符
  6. C# 模拟温室大棚控制系统
  7. 有点意思....有空常看看
  8. HTML+CSS+JS网页设计期末课程大作业——上海旅游景点(10页)web前端开发技术 web课程设计 网页规划与设计
  9. 解决安卓H5输入框获取焦点软键盘页弹起,页面高度被压缩问题
  10. SCI投稿论文中字母正斜体问题