Python 3.x读写csv文件中数字的方法示例


Posted in Python onAugust 29, 2017

前言

本文主要给大家介绍了关于Python3.x读写csv文件中数字的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

读写csv文件

读文件时先产生str的列表,把最后的换行符删掉;然后一个个str转换成int

## 读写csv文件
csv_file = 'datas.csv'
csv = open(csv_file,'w')
for i in range(1,20):
 csv.write(str(i) + ',')
 if i % 10 == 0:
  csv.write('\n')
csv.close()
result = []
with open(csv_file,'r') as f:
 for line in f:
  linelist = line.split(',')
  linelist.pop()# delete: \n
  for index, item in enumerate(linelist):
   result.append(int(item))
print('\nResult is \n' , result)

输出:

Result is
 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

检查目录是否存在

若目标目录不存在,则新建一个目录

import os
json_dir = "../dir_json/2017-04/"
if not os.path.exists(json_dir):
 print("json dir not found")
 os.makedirs(json_dir)
 print("Create dir " + json_dir)

写文件时指定格式

参考下面的代码,打开文件时指定utf8,转换成json时指定ensure_ascii=False

import json
json_file = open(json_dir + id + '.json', 'w', encoding='utf8')
json_file.write(json.dumps(data_dict, ensure_ascii=False))

避免写成的json文件乱码

函数 enumerate(iterable, start=0)

返回一个enumerate对象。iterable必须是一个句子,迭代器或者支持迭代的对象。

enumerate示例1:

>>> data = [1,2,3]
>>> for i, item in enumerate(data):
 print(i,item)
0 1
1 2
2 3

示例2:

>>> line = 'one'
>>> for i, item in enumerate(line,4):
 print(i,item)
4 o
5 n
6 e

参考: https://docs.python.org/3/library/functions.html?highlight=enumerate#enumerate

class int(x=0)

class int(x, base=10)

返回一个Integer对象。对于浮点数,会截取成整数。

>>> print(int('-100'),int('0'),int('3'))
-100 0 3
>>> int(7788)
7788
>>> int(7.98)
7
>>> int('2.33')
Traceback (most recent call last):
 File "<pyshell#27>", line 1, in <module>
 int('2.33')
ValueError: invalid literal for int() with base 10: '2.33'

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python设计模式之单例模式实例
Apr 26 Python
Python中使用urllib2防止302跳转的代码例子
Jul 07 Python
Python最基本的输入输出详解
Apr 25 Python
编写Python脚本抓取网络小说来制作自己的阅读器
Aug 20 Python
python解决网站的反爬虫策略总结
Oct 26 Python
浅谈终端直接执行py文件,不需要python命令
Jan 23 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
python爬虫正则表达式之处理换行符
Jun 08 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
Python lambda表达式用法实例分析
Dec 25 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
详解Python描述符的工作原理
Jun 11 Python
在python3环境下的Django中使用MySQL数据库的实例
Aug 29 #Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 #Python
Python开发的HTTP库requests详解
Aug 29 #Python
Python实现按学生年龄排序的实际问题详解
Aug 29 #Python
详解Python进程间通信之命名管道
Aug 28 #Python
基于Python闭包及其作用域详解
Aug 28 #Python
利用Python查看目录中的文件示例详解
Aug 28 #Python
You might like
PHP 批量删除数据的方法分析
2009/10/30 PHP
一步一步学习PHP(8) php 数组
2010/03/05 PHP
PHP连接SQLServer2005的方法
2015/01/27 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
JavaScript 学习笔记(六)
2009/12/31 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
js实现全选和全不选
2020/07/28 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
[02:23]完美世界全国高校联赛街访DOTA2第一期
2019/11/28 DOTA
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
python+pyqt5编写md5生成器
2019/03/18 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
python在协程中增加任务实例操作
2021/02/28 Python
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
super()与this()的区别
2016/01/17 面试题
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
物流管理专业毕业生求职信
2014/03/23 职场文书
《果园机器人》教学反思
2014/04/13 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
贷款收入证明范本
2015/06/12 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书