前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用pandas进行文件读写

使用pandas进行文件读写

作者头像
生信修炼手册
发布2020-06-24 15:15:14
2.1K0
发布2020-06-24 15:15:14
举报
文章被收录于专栏:生信修炼手册生信修炼手册

pandas是数据分析的利器,既然是处理数据,首先要做的当然是从文件中将数据读取进来。pandas支持读取非常多类型的文件,示意如下

对于文本文件,支持csv, json等格式,当然也支持tsv文本文件;对于二进制文件,支持excel,python序列化文件,hdf5等格式;此外,还支持SQL数据库文件的读写。

在日常开发中,最经典的使用场景就是处理csv,tsv文本文件和excel文件了。对于不同格式的文件,pandas读取之后,将内容存储为DataFrame, 然后就可以调用内置的各种函数进行分析处理

1. CSV文件读写

和R语言类似,对于文本文件的读写,都提供了一个标准的read_table函数,用于读取各种分隔符分隔的文本文件。针对csv这种逗号分隔的特定格式,也提供了read_csv函数来进行处理,读取csv文件的用法如下

代码语言:javascript
复制
>>> import pandas as pd
>>> a = pd.read_csv('test.csv')

和python内置的csv模块相比,pandas的代码非常的简洁,只需要一行就可以搞定了。虽然代码简洁,但是我们要注意的是,根据需要灵活使用其中的参数,常见的参数如下

代码语言:javascript
复制
# sep参数指定分隔符,默认为逗号
>>> pd.read_csv('test.csv', sep = "\t")

# delimiter是sep的别名,用于指定分隔符,默认为逗号
>>> pd.read_csv('test.csv', delimiter = "\t")

# comment参数指定注释标识符,开头为注释标识符的行不会读取
# 默认的注释标识符为#
>>> pd.read_csv('test.csv', comment = "#")

# 默认行为,指定第一行作为表头,即数据框的列名
>>> pd.read_csv('test.csv', header = 0)
# header = None, 没有表头,全部为数据内容
>>> pd.read_csv('test.csv', header = None)

# index_col参数,指定索引对应的列为数据框的行标签
>>> pd.read_csv('test.csv', index_col=0)

# usecols参数根据索引选择部分列
>>> pd.read_csv('test.csv', usecols = (0, 1))

# skiprows表示跳过开头前几行
>>> pd.read_csv('test.csv', header = None, skiprows = 1)

# nrows 表示只读取前几行的内容
>>> pd.read_csv('test.csv', nrows = 2)

# na_values 指定空值的形式,空值会用NaN来代替
>>> pd.read_csv('test.csv', na_values = 3)

将DataFrame对象输出为csv文件的函数以及常用参数如下

代码语言:javascript
复制
# to_csv, 将数据框输出到csv文件中
>>> a.to_csv("test1.csv")
# header = None, 表示不输出数据框的列标签
>>> a.to_csv('test1.csv', header = None)
# index = False, 表示不输出数据框的行标签
>>> a.to_csv('test1.csv', index = False)

2. Excel文件读写

pandas对xlrd, xlwt模块进行了封装,提供了简洁的接口来处理excel文件,支持xls和xlsx等格式的文件,读取excel文件的基本用法如下

代码语言:javascript
复制
>>> pd.read_excel('test.xlsx')

pandas的文件读取函数中,大部分的参数都是共享的,比如header, index_col等参数,在read_excel函数中,上文中提到的read_csv的几个参数也同样适用。除此之外,因为excel有多个sheet, 所以read_excel函数有一个独有的参数sheet_name, 用法如下

代码语言:javascript
复制
# 用索引来指定sheet, 从0开始
>>> pd.read_excel('test.xlsx', sheet_name=0)
# 用sheet的名称来指定
>>> pd.read_excel('test.xlsx', sheet_name='Sheet3')

对应地,输出excel的函数也和to_csv共享大部分参数,基本用法如下

代码语言:javascript
复制
# 输出excel
df.to_excel("output.xlsx")
# 指定输出excel中sheet的名字
df1.to_excel("output.xlsx", sheet_name='Sheet1')

pandas极大地简化了文件读写的代码,只需要掌握常用的几个参数即可。

·end·

—如果喜欢,快分享给你的朋友们吧—

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档