一、文本文件读取
对于csv或txt文本文件,可以使用pandas模块中的read_table函数或者read_csv函数,它们的功能相同,区别在于各自函数中sep参数(即用于指定变量之间的分隔符)默认值不同,具体的参数如下所示:
read_tabel(filepath_or_buffer,sep='\t',header='infer',names=None,index_col=None,usecols=None,
dtype=None,converters=None,skiprows=None,skipfooter=None,nrows=None,na_values=None,
skip_blank_lines=True,parse_dates=False,thousand=None,comment=None,encoding=None)
具体的参数含义如下:
- filepath_or_buffer:指定txt文件或csv文件所在的具体路径,除此还可以指定存储数据的网站链接。
- sep:指定原数据集中各变量之间的分隔符,默认为tab制表符。
- header:是否需要将原数据集中的第一行作为表头,默认是需要的,并将第一行用作变量名称;如果原始数据中没有表头,该参数需要设置为None。
- names:如果原数据集中没有变量名称,可以通过该参数在数据读取时给数据框添加具体的变量名称。
- index_col:指定原数据集中的某些列作为数据框的行索引(标签)。
- usecols:指定需要读取原数据集中的哪些变量名。
- dtype:读取数据时,可以为原数据集的每个变量设置不同的数据类型。
- converters:通过字典格式,为数据集中的某些变量设置转换函数。
- skiprows:数据读取时,指定需要跳过原数据集的起始行数。
- skipfootes:数据读取时,指定需要跳过原数据集的末尾行数。
- nrows:指定数据读取的行数。
- na_values:指定原数据集中哪些特征的值作为缺失值(默认将两个分隔符之间的空值作为缺失值)。
- skip_blank_lines:读取数据时是否需要跳过原数据集中的空白行,默认为True。
- parse_dates:如果参数值为True,则尝试解析数据框的行索引;如果参数为列表,则尝试解析对应的日期列;如果参数为嵌套列表,则将某些列合并为日期列;如果参数为字典,则解析对应的列(即字典中的值),并生成新的变量名(即字典中的键)。
- thousands:指定原始数据集中的千分位符。
- comment:指定注释符,在读取数据时,如果碰到行首指定的注释符,则跳过该行。
- encoding:为防止中文的乱码,可以借助于该参数解决问题(通常设定为“utf-8”或“gbk”)。
我们也可以使用read_csv函数读取文本文件的数据,其参数与read_table函数完全一致,所不同的只是read_table函数在sep参数上的默认值是tab制表符,而read_csv函数在该参数上的默认值为英文状态下的逗号“,”。
为便于理解,如下图的txt文件,我们要讲其导入。