一,数据加载
1. 读取文本格式的文件
pandas中的解析函数:
read_csv———-从文件,URL,文件型对象中加载带分隔符的数据.默认分隔符为逗号
read_table——–从文件,URL,文件型对象中加载带分隔符的数据.默认分隔符为制表符(‘\t’)
read_fwf———–读取定宽列格式数据(也就是说没有分隔符)
read_clipboard———–读取剪切板中的数据,可以看做是read_table的剪切板版,在将网页转换为表格很有用.
- 读取csv文件
pd.read_csv(“路径”)
pd.read_table(‘路径’,sep=’,’)#需要根据文件内容指定分隔符 - 读取没有标题的文件内容
a.pandas自动分配列名
—pd.read_csv(‘路径’,header=None)
b.手动分配列名
—pd.read_csv(‘路径’,names=[‘a’,’b’,’message’])
c.指定某一列为索引
—pd.read_csv(‘路径’,names=[‘a’,’b’,’message’],index_col=’massage’)
d.指定多个列创建层次化索引,传列编号或列名称组成的索引
—pd.read_csv(“路径”,index_col=[0,1])
—pd.read_csv(“路径”,index_col=[“key1”,”key2”]) - 处理不规则分隔字符分隔内容的文件
pd.read_table(“路径”,sep=”\s+”)#匹配任意空白字符 - 处理不规则异性文件,skiprows跳行读取
pd.read_csv(“路径”,skiprows=[0,2,3])#跳过1,3,4行 - 处理缺失值
—pd.read_csv(“路径”,na_values=[“world”,”foo”]) # na_values 指定的值Na将被读取为N值
—通过字典将指定值读取为nan值
#把something这列的two和message这列的foo替换成NaN值
sentinels = {
"something":["two"],"message":["foo"]}
pd.read_csv("data/ex5.csv",na_values=sentinels)
2.写入文本格式的文件
# 将数据写入到csv文件
df.to_csv("worker.csv",sep="#")#不指定则默认逗号分隔
# sys.stdout 将写入的结果在控制台输出
df.to_csv(sys.stdout,sep="#")
# 将数据写入csv文件中,通过na_rep参数并把NaN替换成0
data_ex5.to_csv(sys.stdout,na_rep=0)
# 将数据写入到csv文件中,不保存行索引和列索引
df.to_csv(sys.stdout,index=False,header=False)
# 只保存部分数据,只保存name列和age列
df.to_csv(sys.stdout,columns=["name","age"])
<