数据处理小谈CSV
来源:互联网 发布:群发qq消息软件 编辑:程序博客网 时间:2024/06/14 23:11
数据处理小谈CSV
在处理数据的时候,我总习惯于将数据先写到本地文件中。
首先本地读写速度快,其次数据操作简单,代码量少,兼之不会遇到连接断开等等问题,写到本地后还能修改一番——实在是不得不选的必要操作!
在工作中我遇到的数据量还不是特别大,基本上在几个G的大小。这个体量的数据,常见的操作是最后存入MySQL中。
这里就要好好讲讲MySQL和csv了。(Linux Python开发环境下)
首先当前较好用的连接MySQL的第三方包是pymysql,而MySQL-python是不支持 python3.5 的。操作很简单,看看官方实例就好了,也没有什么特别的参数。但是对于大批量的数据导入,就需要自己编写导入的SQL语句(这很烦,无疑很考虑代码设计的鲁棒性)。
如果是写成CSV文件后直接导入,快速又方便。说到这里,介绍一个CSV read的小诀窍。
import csvdata_list = []with open('./data.csv', 'r') as csv_file: datas = csv.reader(csv_file) for data in datas: data_list.append(data)
一般来说,需要我们新建一个list,因为csv读取的数据是一个被包裹的对象,不能直接读取。
但是有个小技巧,可以直接讲数据化为一个list:
import csvdata_list = []with open('./data.csv', 'r') as csv_file: datas = csv.reader(csv_file) datas = list(datas)
这样我们可以直接讲数据放入datas中。
另外,在csv文件导入数据库的时候,常常会有数据项错位的情况。究其原因是数据项中有逗号字符或其他特殊字符。就算我们使用¥$
这样的特殊字符作为delimiter,也没法逃过错位的命运(我就被这个数据折磨了三天)。
怎么办?
这时候需要注意到一个不起眼的地方:
你以为是分隔符选项吗?
不!是在角落里那个 文本分隔符
这个默认选择好的选择项。
这个双引号的作用是:如果数据项中有特殊符号如逗号等,它会将这个数据项作为一个文本来看待,这样在入库的时候设置了文本分隔符,我们就可以将需要的数据准确得送到每一个栏位。
在Python的csv模块中,有一个参数叫quoting。就是这个参数,决定了要不要使用双引号来将每个数据项包裹起来。
在这三天里,我每天被这堆数据折磨,三天里尝试了各种不同的方法,林林总总写下的代码能有几千行,涉及的技术总有十七八种。总算解脱后,回头发现自己对于数据处理又迈上了一个台阶。也是一个很好的经历。
- 数据处理小谈CSV
- python数据处理(csv->折线图)
- 数据处理小例子
- Hadoop Archives 小数据处理
- python 数据处理的小技巧
- python之数据处理小技巧
- 人工智能数据处理的小知识
- node.js 读取csv文件数据处理导入mongodb 数据库
- python机器学习/数据处理学习[一]csv数据清洗
- 【R语言 数据处理】R做数据处理中的小技巧
- 【小技巧】Matlab读取CSV文件
- mysql数据库上传csv数据小问题解决
- Python读写csv小白指南
- Android [小技巧] CSV文件简单使用
- 各种对数据处理的小技巧
- 小知识点-大数据处理之初步理解
- Python数据处理相关小例编程
- Python 数据处理——小函数
- KMP初学
- codeforces 900C. Remove Extra One
- Delete和delete []的区别
- Word2vec之情感语义分析实战(part2)
- 定位服务在iOS11系统上不能使用的问题
- 数据处理小谈CSV
- Ubuntu下安装WPS-office
- 如何获取Android软键盘状态和软键盘高度
- 在中文简体状态下无法修改默认引擎,默认引擎一直都是百度
- 熵的知识
- 记录一些错误
- MySQL 高并发优化
- javascript原型详解(1)
- python3将视频流保存为本地视频文件