我们需要处理的数据常常以几种形式存在着,包括文本文件、数据库、网页。那么如果无法将这些数据读取到Python中,我们就无法对他们进行处理。大家常见的许多数据分析问题都是IO密集型工作,而不是CPU密集型工作,这就是因为大量的工作是将不同的数据进行读取、选择、写入。因此,本文将总结,针对这些类型的数据,利用python的哪些函数可以高效的进行读写工作:

1

、读取文本文件

函数

说明

Pd.read_csv

从文件、URL、文件型文件中加载带分隔符的数据,默认分隔符为逗号

Pd.read_talbe

从文件、URL、文件型文件中加载带分隔符的数据,默认分隔符为制表符

Pd.read_fwf

读取定宽列格式数据,没有分隔符

Pd.read_clipboard

读取剪贴板数据,

To_csv

DataFrame和Series的方法,写入csv文件

From_csv

DataFrame和Series的方法,读取csv文件

Csv.reader

接收打开的csv文件,可手工读取csv文件

Csv.writer

接收打开的可写入的csv文件,可手工写入csv文件

2

、json

Json已经成为通过http请求在web浏览器和其它应用程序之间传送数据的标准格式之一。很多库都能读写json,例如json可以通过json.loads()读取json,通过json.dumps()将Python对象转换成json。

Pandas中也有pd.read_json()读取json,返回DataFrame和pd.to_json()将DataFrame写入json。


3

、EXCEL

Pandas的ExcelFile类支持读取存储在excel中的表格型数据。ExcelFile依赖xlrd和openpyxl,读取EXCEL: xls_file= pd.ExcelFile(‘data.xls’),将某一个工作表读取为DataFrame:df= xls_file.parse(‘sheet1’)。另外,pd.read_excel()也可以进行excel的读取,如Df= pd.read_excel(‘data.xls’)。

虽然我们也可以使用xlrd进行简单的EXCEL写入,但是我还是习惯于写入csv,这样更方便。

4

、数据库

Python内置了sqlite数据库,还有我们常常使用的mysql数据库,使用起来较为方便。


sqlite

mysql

还有其它一些数据库,例如MongoDB可以使用pymongo,连接Oracle数据库需要使用cx_Oracle等。

5

、web API

很多网站通过API提供json数据或其它类型的数据,我们可以使用urllib.request或者requests进行访问和获取数据。下面是两个示例:

urllib.request

requests

这是我们获取数据和读写数据常常遇到的几种情况,也欢迎大家补充。