pandas数据输入和输出
代码和男人都搞不懂 人气:01.文本格式数据的读写
read_csv()
:从文件、URL或文件型对象读取分隔好的数据,逗号是默认分隔符
read_table()
:从文件、URL或文件型对象读取分隔好的数据,制表符('\t')是默认分隔符
Windows用户打印文件的原始内容
因为这个文件是逗号分隔的,我们可以使用read_csv将它读入一个DataFrame:
也可以用read_table,并指定分隔符
刚刚是文件包含表头行的情况,但有的文件并不包含表头行,比如
如果直接读取的话,默认将第一行作为表头了,也就是默认header=0,表示第一行为标题行。
有两种方法改,
一是允许pandas自动分配默认列名,
二是自己指定列名。
假设想要message列成为返回DataFrame的索引,可以指定位置4的列为索引,或将'message'传给参数index_col:
从多个列中形成一个分层索引
解析函数有很多附加参数处理各种发生异常的文件格式,例如,可以使用skiprows来跳过第一行,第三行,第四行。
处理缺失值
通常情况下,缺失值要么不显示(空字符串,要么用一些标识值)
默认情况下,pandas用一些常见的标识,如NaN和NULL
na_values选项可以传入一个列表或一组字符串来处理缺失值
在字典中,每列可以指定不同的缺失值标识
1.1 分块读入文本文件
如果只想读取一小部分(避免读取整个文件),可以指明nrows
为了分块读入文件,可以指定chunksize作为每一块的行数
read_csv返回的TextParser对象允许根据chunksize遍历文件,并对'a'列聚合获得计数值
1.2 将数据写入文本格式
使用DataFrame的to_csv方法,可将数据导出为逗号分隔的文件
默认若是没有其他选项被指定的话,行和列的标签都会被写入,不过二者也都可以禁止写入
也可以仅仅写入列的子集,并且按照选择的顺序写入
默认缺失值在输出时以空字符串出现,可以用其他标识值对缺失值进行标注
(写入到sys.stdout时,控制台中打印的文本结果)
默认分隔符是逗号,可以用sep选项选择分隔符
Series也有to_csv方法
不知道为啥最后写入有,0这行????
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!
加载全部内容