第2章 数据集格式的存储与读取_第1页
第2章 数据集格式的存储与读取_第2页
第2章 数据集格式的存储与读取_第3页
第2章 数据集格式的存储与读取_第4页
第2章 数据集格式的存储与读取_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章数据集格式的

存储与读取数据获取数据储存格式数据库了解数据源的获取方式掌握不同格式数据集的存储与读取掌握Python连接数据库的方法以及基本操作2.1数据获取内部数据的获取方法外部数据的获取方法2.1数据获取内部数据的获取通常是来自于数据埋点或者是数据统计平台中的相应的数据,这两种方法前者数据埋点是开启数据分析的第一步,如在App端所设置的自定义事件,就是通过数据埋点的方式,实现对用户行为的追踪,以及记录行为发生的具体细节。通常情况下,会对一些关键节点、关键按钮进行监测,比如关键路径的转化率。而后者一般的数据统计平台通常都支持数据的直接导出。这些数据的来源通常是企业内部使用一些检测方法去采集到的数据。2.1.1内部数据的获取方法2.1数据获取外部数据可以来自外部购买数据、免费开源数据下载、问卷调查以及爬取开源数据等。政府信息官网和国家数据平台都是获取数据的重要渠道,例如国家统计局可以查找到年度、季度、月度以及各地区各部门的数据,涵盖财政、就业、农业、旅游业等各个方面的数据,同时也可以进行年度数据纵向比对。问卷调查是通过调查问卷等形式发放给目标调查对象,并获得反馈数据的数据获取方式,是现在媒体常用的一种数据获取方式。2.1.2外部数据的获取方法2.2数据存储格式CSV格式与Excel格式二进制格式HTML格式与JSON格式CSV文件:逗号分隔值,其文件以纯文本形式存储表格数据,例如数字和文本。CSV文件由任意数目的记录组成,记录间以某种换行符分隔,每条记录由字段组成,字段间的分隔符可以是其他字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列,通常都是纯文本文件。2.2数据储存格式2.2.1CSV格式与Excel格式NumPy读取CSV文件,NumPy提供了loadtxt()函数来读取CSV数据2.2数据储存格式2.2.1CSV格式与Excel格式loadtxt(fname,dtype=float,comments='#',delimiter=None,

converters=None,skiprows=0,usecols=None,unpack=False,

ndmin=0,encoding='bytes',max_rows=None)2.2数据储存格式2.2.1CSV格式与Excel格式参数说明fname指要读取的文件、文件名、或生成器dtype数据类型,默认floatdelimiter分隔符格skiprows跳过某几行读取,默认是0,必须是整型数据encoding编码格式ndmin指定生成数组的维度usecols读取的列数,0是第一列Loadtxt()函数主要参数说明Loadtxt()函数操作2.2数据储存格式2.2.1CSV格式与Excel格式importnumpyasnpfilepath='E:\\bike-sharing-demand\\train.csv't1=np.loadtxt(filepath,dtype=,delimiter=',',skiprows=1,usecols=(1,2,3,4,5))Print(t1)运行结果2.2数据储存格式2.2.1CSV格式与Excel格式array([[1,0,0,1,9],[1,0,0,1,9],[1,0,0,1,9],...,[4,0,1,1,13],[4,0,1,1,13],[4,0,1,1,13]])NumPy存储CSV文件,NumPy提供了savetxt()函数来读取CSV数据2.2数据储存格式2.2.1CSV格式与Excel格式numpy.savetxt(fname,X,fmt='%。18e',delimiter='',newline='n',header='',footer='',comments='#',encoding=None)2.2数据储存格式2.2.1CSV格式与Excel格式参数说明fname文件名或文件句柄。如果文件名结束.gz,文件将自动以压缩gzip格式保存。X1D或2Darray_like。指要保存到文本文件的数据headerStr,将在文件开头写入的字符串。encoding编码格式savetxt()函数主要参数说明savetxt()函数操作2.2数据储存格式2.2.1CSV格式与Excel格式np.savetxt("train.csv",a,delimiter=",")Pandas读取CSV文件,Pandas提供了read_csv()函数来读取CSV数据2.2数据储存格式2.2.1CSV格式与Excel格式pandas.read_csv(filepath_or_buffer,sep=,delimiter=None,header=‘infer’,names=None,index_col=None,usecols=None,squeeze=False,prefix=None,mangle_dupe_cols=True,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skipinitialspace=False,skiprows=None,skipfooter=0,nrows=None,na_values=None,keep_default_na=True,na_filter=True,verbose=False,skip_blank_lines=True,parse_dates=False,infer_datetime_format=False,keep_date_col=False,date_parser=None,dayfirst=False,cache_dates=True,iterator=False,chunksize=None,compression=‘infer’,thousands=None,decimal=’.’,lineterminator=None,quotechar=’"’,quoting=0,doublequote=True,escapechar=None,comment=None,encoding=None,dialect=None,error_bad_lines=True,warn_bad_lines=True,delim_whitespace=False,low_memory=True,memory_map=False,float_precision=None,storage_options=None)2.2数据储存格式2.2.1CSV格式与Excel格式read_csv()函数主要参数说明参数说明filepath_or_buffer路径,string类型sep分隔符,默认为“,”header接受整型数据,或者整型数据列表,表示将某行数据作为列名,默认参数为infer,表示自动识别names列名,数组类型数据。默认为Noneindex_col将列数据用作行标签,如果给定一个序列,则使用多索引encoding编码,代表存储文件的编码格式dtype接受字典类型数据,代表写入的数据类型,默认为Noneengine接收C或者Python,代表数据解析引擎,默认为Cnrows接收整型,表示读取前n行,默认为NonePandas读取CSV文件2.2数据储存格式2.2.1CSV格式与Excel格式importpandasaspdinfo=pd.read_csv('E:\\bike-sharing-demand\\train.csv')infoPandas储存CSV文件,Pandas提供了to_csv()函数来读取CSV数据2.2数据储存格式2.2.1CSV格式与Excel格式DataFrame.to_csv(path_or_buf=None,sep=',',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,mode='w',encoding=None,compression='infer',quoting=None,quotechar='"',line_terminator=None,chunksize=None,date_format=None,doublequote=True,escapechar=None,decimal='.',errors='strict')2.2数据储存格式2.2.1CSV格式与Excel格式to_csv()函数主要参数说明参数说明path_or_buf字符串或文件目录,文件路径或对象,如果未提供,结果将作为字符串返回。sep分隔符,默认为“,”na_rep缺失数据填充float_format小数点保留几位columns

要写入的字段header列名的别名index行名(索引)index_label索引列的列标签。如果没有给出,并且和index为True,则使用索引名。mode写入模式,默认为wExcel文件:MicrosoftExcel是Microsoft为使用Windows和AppleMacintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为MicrosoftOffice的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主。2.2数据储存格式2.2.1CSV格式与Excel格式Pandas读取Excel文件,Pandas提供了pandas.read_excel()函数来读取CSV数据2.2数据储存格式2.2.1CSV格式与Excel格式pandas.read_excel(io,sheet_name=0,header=0,names=None,index_col=None,usecols=None,squeeze=False,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skiprows=None,nrows=None,na_values=None,keep_default_na=True,verbose=False,parse_dates=False,date_parser=None,thousands=None,comment=None,skipfooter=0,convert_float=True,mangle_dupe_cols=True,**kwds)2.2数据储存格式2.2.1CSV格式与Excel格式

read_excel()函数参数参数说明io文件路径sheet_name指定表格的第几个sheet,默认第一个,可以传递整数也可以传递sheet的名称header是否需要将数据集的第一行用作表头,默认使用skiprows指定需要跳过原数据集中的起始行数skip_footer指定需要跳过原数据集中的末尾行数names如果原数据集中没有变量,可以通过该参数在数据读取时给数据框添加具体的表头index_col指定哪些列用作数据框的行索引(标签)converters通过字典的形式,指定哪些列需要转换成什么形式convert_float默认将所有的数值型变量转换为浮点型变量read_excel()函数操作2.2数据储存格式2.2.1CSV格式与Excel格式importpandasaspdinfo=pd.read_excel('E:\\千锋\\excel.xlsx')infoPandas储存Excel文件,Pandas提供了to_excel()函数来读取CSV数据2.2数据储存格式2.2.1CSV格式与Excel格式DataFrame.to_excel(excel_writer,sheet_name='Sheet1',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,startrow=0,startcol=0,engine=None,merge_cells=True,encoding=None,inf_rep='inf',verbose=True,freeze_panes=None)2.2数据储存格式2.2.1CSV格式与Excel格式

to_excel()函数参数参数说明excel_writer保存的位置sheet_name默认'Sheet1'na_rep默认''columns选择存入的列,传入listheader指定作为列名的行,默认True,第一行index默认True,当False时不加索引index_labelindex的名字startrow保存的df在目标文件的第几行开始startcol保存的df在目标文件的第几列开始freeze_panes传入元组,(1,1),冻结第一行第一列to_excel()函数操作2.2数据储存格式2.2.1CSV格式与Excel格式info_excel=info.to_excel('E:\\1000phone\\excel_test.xlsx')HTML格式:HTML类型的文本数据,内容是由前端代码书写的“标签+文本数据”的格式,可以直接在浏览器打开,清楚的展示出文本的格式。当获得的数据是以网页的形式下载到本地时,比如新闻资讯、贴吧信息等,无法以一种快捷的方式将有用的信息提取出来,此时,就可以使用Python去读取这些HTML格式文件。2.2数据储存格式2.2.2HTML格式与JSON格式Python提供了第三方模块去读取HTML格式文件2.2数据储存格式2.2.2HTML格式与JSON格式importosfile_path='./data'file_names=os.listdir(file_path)#获取文件路径i=1withopen(os.path.join(file_path,file_names[i]),'r',encoding='utf-8')asf:txt=f.read()#阅读整个html文件fromhtml2textimporthtml2text#使用html2text整理读取到的数据html2text(txt)读取的部分数据2.2数据储存格式2.2.2HTML格式与JSON格式'\ufeff\n\n#深度|翼装飞行是玩命?拒绝冒险,专业比赛都要“看天吃饭”\n\n###\n翼装飞行其实最早是从高空跳伞运动中产生的,一些爱好者希望实现人类自由飞翔而开始穿着翼装,然后才逐渐出现低空翼装飞行这样更加刺激的飞行形式。”根据方泽体育的介绍,翼装飞行之所以危险性高,主要源于两个原因:一是飞行速度快;二是起跳方式和飞行环境的特殊。\n\n##极限运动,反而最不能冒风险\n\n###\n值得一提的是,对于高空翼装跳伞,全球有相关的培训中心和机构认证,经过培训合格的人才可以拿到证书。而低空翼装飞行没有被大范围推广,并不存在相关的资格认证,那么作为赛事方,如何来评定参赛者的准入资格呢?JSON格式:网站和API使用的通用标准格式,现在主流的一些数据库(如PostgreSQL)都支持JSON格式。2.2数据储存格式2.2.2HTML格式与JSON格式{"stul":{"name":"张三","age":18,"sex":"男"}"stu2":{"name":"李四","age":2,"sex":"女"}}Python提供了两种方法来读取和写入JSON格式文件,分别是load和dump两种方式2.2数据储存格式2.2.2HTML格式与JSON格式json.loads(s,encoding=None,cls=None,object_hook=None,parse_float=None,parse_int=None,parse_constant=None,object_pairs_hook=None,**kw)json.dumps(obj,skipkeys=False,ensure_ascii=True,check_circular=True,allow_nan=True,cls=None,indent=None,separators=None,encoding="utf-8",default=None,sort_keys=False,**kw)读取JSON格式文件2.2数据储存格式2.2.2HTML格式与JSON格式withopen('E:\\千锋\\JSON.JSON','r',encoding='utf8')asfp:json_data=json.load(fp)print('这是文件中的json数据:',json_data)运行结果这是文件中的json数据:{'name':'小明','age':19}写入JSON格式文件2.2数据储存格式2.2.2HTML格式与JSON格式importjsonx={'name':'小明','age':19}filename='E:\\千锋\\JSON.JSON'withopen(filename,'w')asf:json.dump(x,f)withopen('E:\\千锋\\JSON.JSON','r',encoding='utf8')asfp:json_data=json.load(fp)print('新写入的json数据:',json_data)运行结果新写入的json数据:{'name':'小明','age':19}二进制格式文件:指包含在ASCII及扩展ASCII字符中编写的数据或程序指令的文件。计算机文件基本上分为二种:二进制格式文件和ASCII格式文件,图形格式文件处理程序及文字处理程序等计算机程序都属于二进制格式文件,这些文件含有特殊的格式及计算机代码。ASCII格式文件则是可以用任何文字处理程序阅读的简单文本文件。2.2数据储存格式2.2.3二进制格式2.3数据库建立数据库及数据表使用Python连接数据库2.3数据库2.3.1建立数据库及数据表1.下载MySQL数据库2.3数据库2.3.1建立数据库及数据表2.配置MySQL数据库2.3数据库2.3.1建立数据库及数据表2.配置MySQL数据库安装完毕在“开始”菜单栏中找到刚

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论