python--学习笔记7 文件格式、数据读取、储存

时间:2022-12-27 08:07:16

读取文本类数据

 

pandas提供了一些将表格型数据读取为DataFrame对象的函数。read_csv  默认分隔符为逗号, read_table 默认分隔符为制表符 "\t"

类型推断是这些函数最重要的功能之一。

没有标题行的文件可以通过pandas分配也可以自定义列名。 pd.read_csv('xxx.csv',header=None)  / pd.read_csv('xxx.csv', names = ['a','b','c','d','message'])

可以通过index_col 指定索引 pd.read_csv('xxx.csv', names = ['a','b','c','d','message'], index_col = 'message')

有些表格可能不是用固定的分隔符去分隔字段,因此可以编写一个正则表达式来作为read_table的分隔符。

可以用skiprows跳过文件指定行。

 

逐块读取文本文件

有时候文件太大,可以只读取文件的一小部分或者逐块对文件进行迭代。

只读几行的话,可以通过nrows进行指定。

若需逐块读取文件,需要设置chunksize(行数):

chunker = pd.read_csv('xxxx.csv',chunksize = 1000)
tot = Series([])
for piece in chunker:

      tot = tot.add(piece['key'].value_counts(),fill_value=0)

  tot = tot.order(ascending = False)

此处迭代处理csv,将值计数聚合到'key'列中。

 


输出

 通过DataFrame的to_csv方法,我们可以将数据写到一个以逗号分隔的文件中。缺失值在输出结果中会被表示为空字符串,也可以表示为其他标记值。

 


 

web信息的搜集读取,xml和html

Python有许多可以读写HTML和xml格式数据的库,lxml就是其中之一,能够高效可靠的解析大文件。它有很多编程接口,可以先用lxml.html处理HTML,然后再用lxml.objectify做一些xml的处理。

 许多网站都将数据放在HTML的表格中以便浏览器查看。