Python语言程序设计方案课件

上传人:hknru****knru 文档编号:243139928 上传时间:2024-09-16 格式:PPT 页数:80 大小:3.06MB
返回 下载 相关 举报
Python语言程序设计方案课件_第1页
第1页 / 共80页
Python语言程序设计方案课件_第2页
第2页 / 共80页
Python语言程序设计方案课件_第3页
第3页 / 共80页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Python,语言程序设计,第,7,章 文件和数据格式化,文件的使用,数据源,文件概述,文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象,类似地,函数是程序的集合和抽象。用文件形式组织和表达数据更有效也更为灵活。文件包括两种类型:文本文件和二进制文件。,文件概述,二进制文件直接由比特,0,和比特,1,组成,没有统一字符编码,文件内部数据的组织格式与文件用途有关。二进制文件和文本文件最主要的区别在于是否有统一的字符编码,无论文件创建为文本文件或者二进制文件,都可以用,“,文本文件方式,”,和,“,二进制文件方式,”,打开,打开后的操作不同。,文件概述,微实例,7.1,:理解文本文件和二进制文件的区别。,微实例,7.1,m7.1DiffTextBin.py,1,2,3,4,5,6,textFile = open(7.1.txt,rt) #t,表示文本文件方式,print(textFile.readline(),textFile.close(),binFile = open(7-1.txt,rb) #r,表示二进制文件方式,print(binFile.readline(),binFile.close(),文件概述,输出结果为:,中国是个伟大的国家!,bxd6xd0xb9xfaxcaxc7xb8xf6xcexb0xb4xf3xb5xc4xb9xfaxbcxd2xa3xa1,采用文本方式读入文件,文件经过编码形成字符串,打印出有含义的字符;采用二进制方式打开文件,文件被解析为字节(,byte,)流。由于存在编码,字符串中的一个字符由,2,个字节表示,。,文件的打开关闭,Python,对文本文件和二进制文件采用统一的操作步骤,即,“,打开,-,操作,-,关闭,”,文件的打开关闭,Python,通过解释器内置的,open(),函数打开一个文件,并实现该文件与一个程序变量的关联,,open(),函数格式如下:, = open(, ),open(),函数有两个参数:文件名和打开模式。文件名可以是文件的实际名字,也可以是包含完整路径的名字,文件的打开关闭,open(),函数提供,7,种基本的打开模式,打开模式,含义,r,只读模式,如果文件不存在,返回异常,FileNotFoundError,,默认值,w,覆盖写模式,文件不存在则创建,存在则完全覆盖源文件,x,创建写模式,文件不存在则创建,存在则返回异常,FileExistsError,a,追加写模式,文件不存在则创建,存在则在原文件最后追加内容,b,二进制文件模式,t,文本文件模式,默认值,+,与,r/w/x/a,一同使用,在原功能基础上增加同时读写功能,文件的读写,根据打开方式不同可以对文件进行相应的读写操作,,,Python,提供,4,个常用的文件内容读取方法,方法,含义,.readall(),读入整个文件内容,返回一个字符串或字节流,*,.read(size=-1),从文件中读入整个文件内容,如果给出参数,读入前,size,长度的字符串或字节流,.readline(size = -1),从文件中读入一行内容,如果给出参数,读入该行前,size,长度的字符串或字节流,.readlines(hint=-1),从文件中读入所有行,以每行为元素形成一个列表,如果给出参数,读入,hint,行,文件的读写,微实例,7.2,:文本文件逐行打印,微实例,7.2,m7.2PrintFilebyLines.py,1,2,3,4,5,fname = input(,请输入要打开的文件,: ,),fo = open(fname,r),for line in fo.readlines():,print(line),fo.close(),文件的读写,遍历文件的所有行可以直接这样完成,1,2,3,4,5,fname = input(,请输入要打开的文件,: ,),fo = open(fname,r),for line in fo:,print(line),fo.close(),文件的读写,如果程序需要逐行处理文件内容,建议采用上述代码格式:,fo = open(fname,r,),for line in fo:,#,处理一行数据,fo.close(),文件的读写,Python,提供,3,个与文件内容写入有关的方法,如表所示。,方法,含义,.write(s),向文件写入一个字符串或字节流,.writelines(lines),将一个元素为字符串的列表写入文件,.seek(offset),改变当前文件操作指针的位置,,offset,的值:,0,:文件开头;,1:,当前位置;,2:,文件结尾,文件的读写,微实例,7.3,m7.3WriteListtoFile.py,1,2,3,4,5,6,7,fname = input(,请输入要写入的文件,: ,),fo = open(fname,w+),ls = ,唐诗, ,宋词, ,元曲,fo.writelines(ls),for line in fo:,print(line),fo.close(),程序执行结果如下:,请输入要写入的文件,: test.txt,PIL,库的使用,PIL,库概述,PIL,(,Python Image Library,)库是,Python,语言的第三方库,需要通过,pip,工具安装。,:pip install pillow #,或者,pip3 install pillow,PIL,库支持图像存储、显示和处理,它能够处理几乎所有图片格式,可以完成对图像的缩放、剪裁、叠加以及向图像添加线条、图像和文字等操作。,PIL,库概述,PIL,库可以完成图像归档和图像处理两方面功能需求:,图像归档:对图像进行批处理、生成图像预览、图像格式转换等;,图像处理:图像基本处理、像素处理、颜色处理等。,PIL,库,Image,类解析,在,PIL,中,任何一个图像文件都可以用,Image,对象表示,Image,类的图像读取和创建方法。,方法,描述,Image.open(filename),根据参数加载图像文件,Image.new(mode, size, color),根据给定参数创建一个新的图像,Image.open(StringIO.StringIO(buffer),从字符串中获取图像,Image.frombytes(mode, size, data),根据像素点,data,创建图像,Image.verify(),对图像文件完整性进行检查,返回异常,PIL,库,Image,类解析,要加载一个图像文件,最简单的形式如下,之后所有操作对,im,起作用,from PIL import Image,im = Image.open(D:pycodesbirdnest.jpg),PIL,库,Image,类解析,Image,类有,4,个处理图片的常用属性,属性,描述,Image.format,标识图像格式或来源,如果图像不是从文件读取,值是,None,Image.mode,图像的色彩模式,,L,灰度图像、,RGB,真彩色图像、,CMYK,出版图像,Image.size,图像宽度和高度,单位是像素(,px,),返回值是二元元组(,tuple,),Image.palette,调色板属性,返回一个,ImagePalette,类型,PIL,库,Image,类解析,微实例,7.1,:,GIF,文件图像提取。,对一个,GIF,格式动态文件,提取其中各帧图像,并保存为文件。,微实例,7.1,m7.1GifExtractor.py,1,2,3,4,5,6,7,8,9,from PIL import Image,im = Image.open(pybit.gif) #,读入一个,GIF,文件,try:,im.save(picframe:02d.png.format(im.tell(),while True:,im.seek(im.tell()+1),im.save(picframe:02d.png.format(im.tell(),except:,print(,处理结束,),PIL,库,Image,类解析,Image,类的图像转换和保存方法如表所示。,方法,描述,Image.save(filename, format),将图像保存为,filename,文件名,,format,是图片格式,Image.convert(mode),使用不同的参数,转换图像为新的模式,Image.thumbnail(size),创建图像的缩略图,,size,是缩略图尺寸的二元元组,PIL,库,Image,类解析,生成,birdnest.jpg,图像的缩略图,其中(,128,,,128,)是缩略图的尺寸。,im.thumbnail(128, 128),im.save(birdnestTN,JPEG),北京鸟巢图片及其缩略图,PIL,库,Image,类解析,Image,类可以缩放和旋转图像,其中,,rotate(),方法以逆时针旋转的角度值作为参数来旋转图像。,方法,描述,Image.resize(size),按,size,大小调整图像,生成副本,Image.rotate(angle),按,angle,角度旋转图像,生成副本,PIL,库,Image,类解析,Image,类能够对每个像素点或者一幅,RGB,图像的每个通道单独进行操作,split(),方法能够将,RGB,图像各颜色通道提取出来,,merge(),方法能够将各独立通道再合成一幅新的图像。,方法,描述,Image.point(func),根据函数,func,功能对每个元素进行运算,返回图像副本,Image.split(),提取,RGB,图像的每个颜色通道,返回图像副本,Image.merge(mode,,,bands),合并通道,,采用,mode,色彩,,bands,是新色的色彩通道,Image.blend(im1,im2,alpha),将两幅图片,im1,和,im2,按照如下公式插值后生成新的图像:,im1 * (1.0-alpha) + im2 * alpha,PIL,库,Image,类解析,微实例,7.2,:图像的颜色交换。,交换图像中的颜色。可以通过分离,RGB,图片的三个颜色通道实现颜色交换,微实例,7.2,m7.1ChangeRGB.py,1,2,3,4,5,from PIL import Image,im = Image.open(birdnest.jpg),r, g, b = im.split(),om = Image.merge(RGB, (b, g, r),om.save(birdnestBGR.jpg),PIL,库,Image,类解析,被改变颜色的北京鸟巢图片,PIL,库,Image,类解析,操作图像的每个像素点需要通过函数实现,采用,lambda,函数和,point(),方法搭配使用,例子如下,im =,Image.open(D:pycodesbirdnest.jpg) #,打开鸟巢文件,r, g, b = im.split() #,获得,RGB,通道数据,newg = g.point(lambda i: i * 0.9) #,将,G,通道颜色值变为原来的,0.9,倍,newb = b.point(lambda i: i om = Image.merge(im.mode, (r, newg, newb) #,将,3,个通道合形成新图像,om.save(,D:pycodesbirdnestMerge.jpg),#,输出图片,PIL,库,Image,类解析,去掉光线的北京鸟巢图片,图像的过滤和增强,PIL,库的,ImageFilter,类和,ImageEnhance,类提供了过滤图像和增强图像的,方法,共,10,种,方法表示,描述,ImageFilter.BLUR,图像的模糊效果,ImageFilter.CONTOUR,图像的轮廓效果,ImageFilter.DETAIL,图像的细节效果,ImageFilter.EDGE_ENHANCE,图像的边界加强效果,ImageFilter.EDGE_ENHANCE_MORE,图像的阈值边界加强效果,ImageFilter.EMBOSS,图像的浮雕效果,ImageFilter.FIND_EDGES,图像的边界效果,ImageFilter.SMOOTH,图像的平滑效果,ImageFilter.SMOOTH_MORE,图像的阈值平滑效果,ImageFilter.SHARPEN,图像的锐化效果,图像的过滤和增强,利用,Image,类的,filter(),方法可以使用,ImageFilter,类,如下:,Image.filter(ImageFilter.fuction),微实例,7.3,:图像的轮廓获取。,获取图像的轮廓,,,北京鸟巢变得更加抽象、更具想象空间!,图像的过滤和增强,微实例,7.3,m7.3GetImageContour.py,1,2,3,4,5,from PIL import Image,from PIL import ImageFilter,im = Image.open(birdnest.jpg),om = im.filter(ImageFilter.CONTOUR),om.save(birdnestContour.jpg),北京鸟巢图片的轮廓效果,图像的过滤和增强,ImageEnhance,类提供了更高级的图像增强需求,它提供调整色彩度、亮度、对比度、锐化等功能。,方法,描述,ImageEnhance.enhance(factor),对选择属性的数值增强,factor,倍,ImageEnhance.Color(im),调整图像的颜色平衡,ImageEnhance.Contrast(im),调整图像的对比度,ImageEnhance.Brightness(im),调整图像的亮度,ImageEnhance.Sharpness(im),调整图像的锐度,图像的过滤和增强,微实例,7.4,:图像的对比度增强。,增强图像的对比度为初始的,20,倍。,微实例,7.4,m7.4EnImageContrast.py,1,2,3,4,5,from PIL import Image,from PIL import ImageEnhance,im = Image.open(birdnest.jpg),om = ImageEnhance.Contrast(im),om.enhance(20).save(birdnestEnContrast.jpg),图像的过滤和增强,北京鸟巢图片的,20,倍对比度增强效果,图像字符画绘制,图像字符画绘制,位图图片是由不同颜色像素点组成的规则分布,如果采用字符串代替像素,图像就成为了字符画。,定义一个字符集,将这个字符集替代图像中的像素点。,1,2,ascii_char =list($B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjf,1234568795t/|()1?-_+i!;:,.),图像字符画绘制,1,2,3,4,5,6,def get_char(r, b, g, alpha=256):,if alpha = 0:,return ,gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b) unit = 256 / len(ascii_char),return ascii_chargray/unit,定义彩色向灰度的转换公式如下,其中,R,、,G,、,B,分别是像素点的,RGB,颜色值:,Gray = R * 0.2126 + G * 0.7152 + B * 0.0722,因此,像素的,RGB,颜色值与字符集的对应函数如下:,实例代码,12.1,e12.DrawCharImage.py,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,#e12.1DrawCharImage.py.py,from PIL import Image,ascii_char = list($%_&WM#*oahkbdpqwmZO0QLCJUYXzcvunxr,jft/|()1?-/+i!;:,.),def get_char(r, b, g, alpha=256):,if alpha = 0:,return ,gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b),unit = 256 / len(ascii_char),return ascii_charint(gray/unit),def main():,im = Image.open(pic.jpg),WIDTH, HEIGHT = 100, 60,im = im.resize(WIDTH, HEIGHT),txt = ,for i in range(HEIGHT):,for j in range(WIDTH):,txt += get_char(*im.getpixel(j, i),txt += n,fo = open(pic_char.txt,w),fo.write(txt),fo.close(),main(),图像字符画绘制,一二维数据格式化和处理,数据组织的维度,一维数据由对等关系的有序或无序数据构成,采用线性方式组织,对应于数学中的数组和集合等概念。,中国、美国、日本、德国、法国、英国、意大利、加拿大、俄罗斯、欧盟、澳大利亚、南非、阿根廷、巴西、印度、印度尼西亚、墨西哥、沙特阿拉伯、土耳其、韩国,数据组织的维度,二维数据,也称表格数据,由关联关系数据构成,采用表格方式组织,对应于数学中的矩阵,常见的表格都属于二维数据。,城市,环比,同比,定基,北京,101.5,120.7,121.4,上海,101.2,127.3,127.8,广州,101.3,119.4,120.0,深圳,102.0,140.9,145.5,沈阳,100.1,101.4,101.6,环比:上月,=100,;同比:上年同月,=100,;定基:,2015,年,=100,。,数据组织的维度,高维数据由键值对类型的数据构成,采用对象方式组织,属于整合度更好的数据组织方式。高维数据在网络系统中十分常用,,HTML,、,XML,、,JSON,等都是高维数据组织的语法结构。,数据组织的维度,本书作者, : , ,姓氏, : ,嵩,名字, : ,天,单位, : ,北京理工大学, , ,姓氏, : ,礼,名字, : ,欣,单位, : ,北京理工大学, , ,姓氏, : ,黄,名字, : ,天羽,单位, : ,北京理工大学, ,一二维数据的存储格式,一维数据是最简单的数据组织类型,有多种存储格式,常用特殊字符分隔:,(,1,)用一个或多个空格分隔,例如:,中国 美国 日本,德国,法国 英国 意大利,(,2,)用逗号分隔,例如:,中国,美国,日本,德国,法国,英国,意大利,(,3,)用其他符号或符号组合分隔,建议采用不出现在数据中的特殊符号,中国,;,美国,;,日本,;,德国,;,法国,;,英国,;,意大利,一二维数据的存储格式,逗号分割数值的存储格式叫做,CSV,格式(,Comma-Separated Values,,即逗号分隔值),它是一种通用的、相对简单的文件格式,在商业和科学上广泛应用,尤其应用在程序之间转移表格数据。,一二维数据的存储格式,该格式的应用有一些基本规则,如下:,(,1,)纯文本格式,通过单一编码表示字符;,(,2,)以行为单位,开头不留空行,行之间没有空行;,(,3,)每行表示一个一维数据,多行表示二维数据;,(,4,)以逗号分隔每列数据,列数据为空也要保留逗号;,(,5,)可以包含或不包含列名,包含时列名放置在文件第一行。,一二维数据的存储格式,二维数据采用,CSV,存储后的内容如下:,城市,环比,同比,定基,北京,101.5,120.7,121.4,上海,101.2,127.3,127.8,广州,101.3,119.4,120,深圳,102,140.9,145.5,沈阳,100.1,101.4,101.6,CSV,格式存储的文件一般采用,.csv,为扩展名,可以通过,Windows,平台上的记事本或微软,Office Excel,工具打开,也可以在其他操作系统平台上用文本编辑工具打开。,一二维数据的表示和读写,CSV,文件的每一行是一维数据,可以使用,Python,中的列表类型表示,整个,CSV,文件是一个二维数据,由表示每一行的列表类型作为元素,组成一个二维列表。,城市, ,环比, ,同比, ,定基,n,北京, 101.5, 120.7, 121.4n,上海, 101.2, 127.3, 127.8n,广州, 101.3, 119.4, 120.0n,深圳, 102.0, 140.9, 145.5n,沈阳, 100.1, 101.4, 101.6n,一二维数据的表示和读写,需要注意,以,split(,),方法从,CSV,文件中获得内容时,每行最后一个元素后面包含了一个换行符(,n,)。对于数据的表达和使用来说,这个换行符是多余的,可以通过使用字符串的,replace(),方法将其去掉,如第,4,行。,一二维数据的表示和读写,微实例,7.6,:逐行处理,CSV,格式数据。,微实例,7.6,m7.6GetCSVbyLine.py,1,2,3,4,5,6,7,8,9,10,fo = open(price2016.csv, r),ls = ,for line in fo:,line = line.replace(n,),ls = line.line.split(,),lns = ,for s in ls:,lns += t.format(s),print(lns),fo.close(),一二维数据的表示和读写,运行后的输出结果如下:,城市,环比,同比,定基,北京,101.5120.7121.4,上海,101.2127.3127.8,广州,101.3119.4120.0,深圳,102.0140.9145.5,沈阳,100.1101.4101.6,一二维数据的表示和读写,微实例,7.7,:一维数据写入,CSV,文件。,微实例,7.7,m7.7WriteD1toCSV.py,1,2,3,4,fo = open(,price2016bj.csv,w),ls = ,北京, 101.5, 120.7, 121.4,fo.write(,.join(ls)+ n),fo.close(),一二维数据的表示和读写,对于列表中存储的二维数据,可以通过循环写入一维数据的方式写入,CSV,文件,参考代码样式如下:,for row in ls:,.write(,.join(row)+n),一二维数据的表示和读写,微实例,7.8,:二维数据写入,CSV,文件。,城市,环比,同比,定基,北京,1.0%,1.2%,1.2%,上海,1.0%,1.3%,1.3%,广州,1.0%,1.2%,1.2%,深圳,1.0%,1.4%,1.5%,沈阳,1.0%,1.0%,1.0%,一二维数据的表示和读写,微实例,7.8,m7.8WriteD2toCSV.py,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,fr = open(price2016.csv, r),fw = open(price2016out.csv, w),ls = ,for line in fr: #,将,CSV,文件中的二维数据读入到列表变量,line = line.replace(n,),ls.append(line.split(,),for i in range(len(ls): #,遍历列表变量计算百分数,for j in range(len(lsi):,if lsij.replace(.,).isnumeric():,lsij = :.2%.format(float(lsij)/100),for row in ls: #,将列表变量中的二位数据输出到,CSV,文件,print(row),fw.write(,.join(row)+n),fr.close(),fw.close(),CSV,格式的,HTML,展示,CSV,格式的,HTML,展示,文件名:,CSV2HTML.html,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,2016,年,7,月部分大中城市新建住宅价格指数,城市,环比,同比,定基,北京,101.5120.7121.4,上海,101.2127.3127.8,广州,101.3119.4120.0,深圳,102.0140.9145.5,沈阳,100.1101.4101.6,CSV,格式的,HTML,展示,实例代码,13.1,e13.1csv2html.py,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,#e13.1csv2html.py,seg1 = ,nnn,2016,年,7,月部分大中城市新建住宅价格指数,n ,seg2 = n,seg3 = nn,def fill_data(locls):,seg = ,n.format(*locls),return seg,fr = open(price2016.csv, r),ls = ,CSV,格式的,HTML,展示,实例代码,13.1,e13.1csv2html.py,16,17,18,19,20,21,22,23,24,25,26,27,28,29,for line in fr:,line = line.replace(n,),ls.append(line.split(,),fr.close(),fw = open(price2016.html, w),fw.write(seg1),fw.write(nnnn.format(*ls0),fw.write(seg2),for i in range(len(ls)-1):,fw.write(fill_data(lsi+1),fw.write(seg3),fw.close(),高维数据的格式化,高维数据的格式化,与一维二维数据不同,高维数据能展示数据间更为复杂的组织关系。为了保持灵活性,表示高维数据不采用任何结构形式,仅采用最基本的二元关系,即键值对。万维网是高维数据最成功的典型应用。,JSON,格式可以对高维数据进行表达和存储。,JSON,(,JavaScript Object Notation,)是一种轻量级的数据交换格式,易于阅读和理解。,JSON,格式表达键值对,的基本格式如下,键值对都保存在双引号中:,key : value,高维数据的格式化,当多个键值对放在一起时,,JSON,有如下一些约定:,数据保存在键值对中;,键值对之间由逗号分隔;,括号用于保存键值对数据组成的对象;,方括号用于保存键值对数据组成的数组。,以,“,本书作者,”,JSON,数据为例。,Json,格式,高维数据的格式化,本书作者, : , ,姓氏, : ,嵩,名字, : ,天,单位, : ,北京理工大学, ,姓氏, : ,礼,名字, : ,欣,单位, : ,北京理工大学, , ,姓氏, : ,黄,名字, : ,天羽,单位, : ,北京理工大学, ,json,库的使用,Json,库的概述,json,库主要包括两类函数:操作类函数和解析类函数,操作类函数主要完成外部,JSON,格式和程序内部数据类型之间的转换功能,解析类函数主要用于解析键值对内容。,Json,库的解析,函数,描述,json.dumps(obj, sort_keys=,False, indent=None),将,Python,的数据类型转换为,JSON,格式,编码过程,json.loads(string),将,JSON,格式字符串转换为,Python,的数据类型,解码过程,json.dump(obj, fp, sort_keys=,False, indent=None),与,dumps(),功能一致,输出到文件,fp,json.load(fp),与,loads(),功能一致,从文件,fp,读入,dumps(),和,loads(),分别对应编码和解码功能。,Json,库的解析,dt = b:2,c:4,a:6,s1 = json.dumps(dt) #dumps,返回,JSON,格式的字符串类型,s2 = json.dumps(dt,sort_keys=True,indent=4),print(s1),c: 4, a: 6, b: 2,print(s2),a: 6,b: 2,c: 4,print(s1=s2),False,dt2 = json.loads(s2),print(dt2, type(dt2),c: 4, a: 6, b: 2 ,CSV,和,JSON,格式相互转换,CSV,和,JSON,格式相互转换,CSV,格式常用于一二维数据表示和存储,,JSON,也可以表示一二维数据。在网络信息传输中,可能需要统一表示方式,因此,需要在,CSV,和,JSON,格式间进行相互转换。,同比,: 120.7,城市,: ,北京,定基,: 121.4,环比,: 101.5,CSV,和,JSON,格式相互转换,将,CSV,转换成,JSON,格式的代码如下,实例代码,14.1,e14.1csv2json.py,1,2,3,4,5,6,7,8,9,10,11,12,13,#e14.1csv2json.py,import json,fr = open(price2016.csv, r),ls = ,for line in fr:,line = line.replace(n,),ls.append(line.split(,),fr.close(),fw = open(price2016.json, w),for i in range(1,len(ls):,lsi = dict(zip(ls0, lsi),json.dump(ls1:,fw, sort_keys=True, indent=4),fw.close(),同比,: 120.7,城市,: ,北京,定基,: 121.4,环比,: 101.5,同比,: 127.3,城市,: ,上海,定基,: 127.8,环比,: 101.2,同比,: 119.4,城市,: ,广州,定基,: 120,环比,: 101.3,同比,: 140.9,城市,: ,深圳,定基,: 145.5,环比,: 102,同比,: 101.4,城市,: ,沈阳,定基,: 101.6,环比,: 100.1,同比,: ,城市,: ,定基,: ,环比,: ,将二维,JSON,格式数据转换成,CSV,格式的代码如下,供参考。,实例代码,14.2,e14.2json2csv.py,1,2,3,4,5,6,7,8,9,10,11,12,#14.2json2csv.py,import json,fr = open(price2016.json, r),ls = json.load(fr),data = list(ls0.keys() ,for item in ls:,data.append(list(item.values(),fr.close(),fw = open(price2016_from_json.csv, w),for item in data:,fw.write(,.join(item) + n),fw.close(),1.,巧用名言,亮出论点。作者引用贴切的名言,巧妙地提出中心论点,言简意赅,简明易懂,便于读者把握主旨,。,2,.,古今对举,例证典型。为了让论点得以有力的凸显,文章采用古今中外的名人名言与事例作为论据,纵横捭阖,让人心服口服,不容置疑,。,3,.,句式多变,感情充沛。行文中,作者多处使用了设问句、反问句和感叹句,分别起到了不同的表达作用,字里行间洋溢着作者的立场、观点与情感,增强了语言的表现力与论证,色彩,和力度,。,4,娜塔莎失望和狂喜都有所准备的焦急的面色,忽然明朗起来,露出了快乐、感激、小孩般的笑容。,5,对于自己的专业精通又专注几乎就是自己对生命最好的馈赠,因为不仅它能让自己得到更多机会,而且能为这世界创造更多价值,这或许就是生命意义所在,。,6,小说中的娜塔莎是托尔斯泰笔下的一个经典形象,她出身于贵族家庭,是一个充满浪漫与幻想且多愁善感的女性,。,7.,推行自主招生改革,扩大学校的招生自主权,有助于高校根据自己的办学定位、育人要求,选拔适合本校培养目标的学生,。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!