关于这篇博文提到的所有函数都可以在 IO Tools (Text, CSV, HDF5, …) 找到。
首先我们来列举一下 pandas 处理文件的函数1:
- pd.read_csv(filepath):从 CSV 文件导入数据
- pd.read_table(filepath):从限定分隔符的文本文件导入数据
- pd.read_excel(filepath):从 Excel 文件导入数据
- pd.read_sql(query, connection_object):从 SQL 表 / 库导入数据
- pd.read_json(json_string):从 JSON 格式的字符串导入数据
- pd.read_html(url):解析 URL、字符串或者 HTML 文件,抽取其中的 tables 表格
- pd.read_clipboard():从你的粘贴板获取内容,并传给 read_table()
- pd.DataFrame(dict):从字典对象导入数据,Key 是列名,Value 是数据
想要读取具有明显分隔符的数据,我们可以采用的函数是:
与此问有关的相关参数有三个:sep, delimiter, delim_whitespace,具体含义以 pandas.read_table
为例,翻译出处 英文原文
sep
: str, defaults to ‘,’ for read_csv(), \t for read_table()
分隔符使用。如果sep为None,将尝试自动确定这一点。长度大于1个字符且与’\s+‘不同的分隔符将被解释为正则表达式,将强制使用Python解析引擎,并忽略数据中的引号。正则表达式示例:’\r\t’。
delimiter
: str,默认None
sep的备用参数名称。
delim_whitespace
: boolean,default False指定是否使用空格(例如’ ‘或’\t’)作为分隔符。相当于设置sep=’\s+’。如果此选项设置为True,则不应为delimiter参数传入任何内容。
版本0.18.1中的新功能:支持Python解析器。
我们想要读取什么分隔符特征的数据主要就靠指定上述三个参数。其中 delim_whitespace
只在以空格为分隔符的数据中有用。
下面我们就来简单介绍利用这两个函数怎么读取一些具有常见分隔符的数据。
文章目录
读取以空格为分割符的数据
如图,上面有一个以空格为分隔符的文件
pd.read_csv
>>> dataframe = pd.read_csv(r"C:\Users\Administrator\Desktop\data.txt", header=None, sep=' ')
>>> dataframe
0 1