pandas 读入文本

我们使用python做数据分析的时候,很多情况需要我们从本地读入,在这里我们主要总结如何使用pandas读入文本

import pandas as pd
#读入csv,设置header参数,读取文件的时候没有标题
data=pd.read_csv(x,header=None)

#names设置列名
data2 = pd.read_csv("data.txt",names=["a","b","name"])

#names设置列名,设置index_col参数来设置列索引
data2 = pd.read_csv("data.txt",names=["a","b","name"],index_col="name")

#读入XLS/XLSX
data=pd.read_excel(x,header=None)

#读入TXT sep说明分隔符
data = pd.read_table("data.txt",sep=",")
#读入不规则TXT可以采用正则读入
data = pd.read_csv("data.txt",sep="\s+")

pandas在读入文本时候,会默认将NA、-1.#IND、NULL等当作是缺失值,此时默认使用NaN进行代替,当然,也可以采用na_values设置,例如

data=pd.read_csv("data.txt",na_values=[-999,-1])

对于有中文的存在,我们可以这样处理

f = open("D:/比赛/用户贷款风险预测/个人征信_1108/个人征信/train/bank_detail_train.txt","r")   #设置文件对象
df=pd.read_table(f,sep=',')

以下说明参数
path:表示文件系统位置、URL、文件型对象的字符串。

sep或delimiter:用于对行中各字段进行拆分的字符序列或正则表达式。

header:用作列名的行号。默认为0(第一行),如果文件没有标题行就将header参数设置为None。

index_col:用作行索引的列编号或列名。可以是单个名称/数字或有多个名称/数字组成的列表(层次化索引)。

names:用于结果的列名列表,结合header=None,可以通过names来设置标题行。

skiprows:需要忽略的行数(从0开始),设置的行数将不会进行读取。

na_values:设置需要将值替换成NA的值。

comment:用于注释信息从行尾拆分出去的字符(一个或多个)。

parse_dates:尝试将数据解析为日期,默认为False。如果为True,则尝试解析所有列。除此之外,参数可以指定需要解析的一组列号或列名。如果列表的元素为列表或元组,就会将多个列组合到一起再进行日期解析工作。

keep_date_col:如果连接多列解析日期,则保持参与连接的列。默认为False。

converters:由列号/列名跟函数之间的映射关系组成的字典。如,{“age:”,f}会对列索引为age列的所有值应用函数f。

dayfirst:当解析有歧义的日期时,将其看做国际格式(例如,7/6/2012 —> June 7 , 2012)。默认为False。

date_parser:用于解析日期的函数。

nrows:需要读取的行数。

iterator:返回一个TextParser以便逐块读取文件。

chunksize:文件块的大小(用于迭代)。

skip_footer:需要忽略的行数(从文件末尾开始计算)。

verbose:打印各种解析器输出信息,如“非数值列中的缺失值的数量”等。

encoding:用于unicode的文本编码格式。例如,"utf-8"或"gbk"等文本的编码格式。

squeeze:如果数据经过解析之后只有一列的时候,返回Series。

thousands:千分位分隔符,如",“或”."。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值