我们需要处理的数据常常以几种形式存在着,包括文本文件、数据库、网页。那么如果无法将这些数据读取到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
这是我们获取数据和读写数据常常遇到的几种情况,也欢迎大家补充。