1、数据加载,存储与文件格式 1,读写文本格式数据:(read_csv,read_table,read_fwf,read_clipboard,open() to_csv,to_excel,write()2, JSON数据: (两个方法:json.loads() json.dumps())3,XML和HTML:WEB信息收集(两个接口lxml.html, lxml.objectify)4,二进制数据格式(pickle函数,短期存储格式)5,使用HTML和WEB API(requests包)6,使用数据库目录读取文本格式数据read_csv从文件,url,文件型对象中加载带分隔符的数据,默认分隔符为逗
2、号。read_table从文件,url,文件型对象中加载带分隔符的数据,默认分隔符为制表符(t)。read_fwf读取定宽格式的数据,无分隔符read_clipboard读取剪贴板中数据读取文本格式数据pandas读取文件会自动推断数据类型,不用指定。以read_csv为例,下面是常用的几个参数:用 names重新规定列名,用index_col指定索引,也可以将多个列组合作为层次化索引。可以编写正则表达式规定分隔符。用skiprows跳过某些行。缺失数据要么没有,要么用某个标记值表示,pandas常用NA、-1.#IND、NULL等进行标记。用na_values用来不同的NA标记值。Nrows
3、 只读取几行Chunksize:逐块读取文件定义一个字典为各个列指定NA标记值,直接=null的就是把df中所有为空值的都标为null跳过第3行将数据写出到文本格式1、利用data_frame的to_csv方法,可以将数据写到一个以逗号分隔的文件中,也可用sep参数指定分隔符,如 data.to_csv()2、缺失值写入输出时会被表示为空字符串,可使用na_rep表示为别的标记值。不添加后缀的话默认是一个file文件data.to_csv(sys.stdout, sep=|) # 打印到屏幕data.to_csv(sys.stdout, na_rep=NULL) # 空字符处显示为NULL d
4、ata.to_csv(sys.stdout, index=False, header=False) # 禁用行和列的标签data.to_csv(sys.stdout, cols=a, b, c) # 按照指定的顺序显示列 sys.stdout就相当于print,使用之前要importJSON数据JSON数据已经成为通过http请求在wed浏览器和其他应用程序之间发送数据的标准格式之一,它是一种比表格型文本格式更灵活的数据格式。JSON非常接近于有效的python代码,基本类型都有对象,数组,字符串,数值,布尔型以及null。Python形式JSON格式JSON格式json.loads()jso
5、n.dumps()Html基本信息HTML 使用标记标签来描述网页HTML 文档描述网页保存为后缀名带.html打开就是一个网页a href 超链接XML和HTML:WEB信息收集Python有许多可以读写HTML和XML格式数据的库,lxml就是其中之一。XML和HTML:WEB信息收集Python有许多可以读写HTML和XML格式数据的库,lxml就是其中之一。from lxml.html import parsefrom urllib.request import urlopen urllib2在python中是urllib.requestfrom pandas.io.parsers i
6、mport TextParserimport pandas as pdparsed=parse(urlopen(http:/ 打开urldoc=parsed.getroot() 可以得到url里面所有的elementprint(-doc-)print (doc)links=doc.findall(./a) 获取所有为 的超链接lnk=links3 找到其中的一个连接下面的内容print(-lnk-)print(links3) tables=doc.findall(./table) 找到这个连接下面的所有table元素print(-table-)print (tables) table=tabl
7、es0 找到想要的tableprint(-calls-) print (calls)rows =table.findall(./tr) 找到table下面所有的行print(-rows-)print (rows)XML和HTML:WEB信息收集Python有许多可以读写HTML和XML格式数据的库,lxml就是其中之一。def _unpack(row,kind=td): elts=row.findall(./%s % kind) return val.text_content().strip() for val in eltsprint(-th-) 调用函数分别打印th和一行tdprint(_
8、unpack(rows0,kind=th)print()print(-td1-)print(_unpack(rows1,kind=td)text_content()取到每一个td下面的内容strip() 删除前后的空格XML和HTML:WEB信息收集Python有许多可以读写HTML和XML格式数据的库,lxml就是其中之一。直接用Dataframe把行和表头拼起来也行这里TextParser类可以自动转换数据类型最后用to_excel比to_csv好用,to_csv保存的时候中文不好用使用数据库,将excel的数据导入DB中python支持多种关系型数据库:SQL Server, MySQL
9、,DB2等,我是直接使用Python自带的SQLite数据库1.导入Python SQLITE数据库模块 import sqlites2. 创建/打开数据库在调用connect函数的时候,会指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。 con=splites.connect(:memory:)3.使用游标查询数据库 我们需要使用游标对象SQL语句查询数据库,获得查询对象。 通过以下方法来定义一个游标 cursor=con.cursor() cursor.execute() #执行sql语句 cursor.executemany #执行多条sql语句 cu
10、rsor.close() #关闭游标 cursor.fetchone() #从结果中取一条记录,并将游标指向下一条记录 cursor.fetchmany() #从结果中取多条记录 cursor.fetchall() #从结果中取出所有记录 cursor.scroll() #游标滚动使用数据库,将excel的数据导入DB中python支持多种关系型数据库:SQL Server, MySQL,DB2等,我是直接使用Python自带的SQLite数据库创建了一个test1表,用来存储数据使用数据库,将excel的数据导入DB中python支持多种关系型数据库:SQL Server, MySQL,DB2等,我是直接使用Python自带的SQLite数据库使用了for循环每次读取一条数据然后插入到test1表中Thank you