《利用Python进行数据分析》Chapter 6

本章聚焦pandas的数据输入输出,涵盖读写文本、二进制格式、Web API交互及数据库操作。重点介绍了read_csv、read_excel、read_html等函数,以及分块读取大文件和处理JSON、XML数据的方法。还涉及了HDF5和数据库如SQLite的交互,以及利用Web API获取数据。
摘要由CSDN通过智能技术生成

本章主要介绍pandas对数据分输入和输出。通常有以下几种类型:读取文本文件及硬盘上其他更高效的格式文件、从数据库载入数据、与网络资源进行交互(比如Web API)。

1. 文本格式数据的读写

使用最多的函数:
read_csv : 从文件、URL或文件型对象读取分隔好的数据,默认分隔符是逗号
read_table: 从文件、URL或文件型对象读取分隔好的数据,默认分隔符是制表符(’\t’)
read_excel: 从Excel的XLS或XLSX文件中读取表格
read_html: 从HTML文件中读取所有表格数据
read_json: 从JSON字符串中读取数据
read_sql: 将SQL查询的结果(使用SQLAlchemy)读取为pandas的DtatFrame

! type pydata-book-2nd-edition\examples\ex1.csv # 使用type命令来打印文件的原始内容
a,b,c,d,message
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
df = pd.read_csv('pydata-book-2nd-edition\examples\ex1.csv')
df
	a	b	c	d	message
0	1	2	3	4	hello
1	5	6	7	8	world
2	9	10	11	12	foo
pd.read_table("pydata-book-2nd-edition\examples\ex1.csv", sep=',') #指定分隔符
	a	b	c	d	message
0	1	2	3	4	hello
1	5	6	7	8	world
2	9	10	11	12	foo
1.1 读取时的一些选项

a. 有些文件并不包含表头行,可以指定pandas的默认列名,也可以指定列名

! type pydata-book-2nd-edition\examples\ex2.csv
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
pd.read_csv('pydata-book-2nd-edition\examples\ex2.csv') # 默认将第一行作为列名
	1	2	3	4	hello
0	5	6	7	8	world
1	9	10	11	12	foo
pd.read_csv("pydata-book-2nd-edition\examples\ex2.csv", header=None) # 使用pandas默认列名
	0	1	2	3	4
0	1	2	3	4	hello
1	5	6	7	8	world
2	9	10	11	12	foo
pd.read_csv('pydata-book-2nd-edition\examples\ex2.csv', names=['a', 'b', 'c', 'd', 'message'])
	a	b	c	d	message
0	1	2	3	4	hello
1	5	6	7	8	world
2	9	10	11	12	foo
pd.read_csv('pydata-book-2nd-edition\examples\ex2.csv', names=['a', 'b', 'c', 'd', 'message'], 		
			index_col='message')
			
		a	b	c	d
message				
hello	1	2	3	4
world	5	6	7	8
foo	9	10	11	12

b. 可以从多个列中形成一个分层索引

! type pydata-book-2nd-edition\examples\csv_mindex.csv
key1,key2,value1,value2
one,a,1,2
one,b,3,4
one,c,5,6
one,d,7,8
two,a,9,10
two,b,11,12
two,c,13,14
two,d,15,16

pd.read_csv('pydata-book-2nd-edition\examples\csv_mindex.csv', index_col=['key1', 'key2'])
				value1	value2
key1	key2		
one		a		1		2
		b		3		4
		c		5		6
		d		7		8
two		a		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值