之前在学习os模块中,我们知道了如何创建一个txt格式的文件(具体操作见https://mp.csdn.net/postedit/80903024) 但是当我们爬取一些小说或一些图片时,我们需要分类管理这些数据,这时候文件似乎无法直接描述出这些数据的关系,那么我们就需要创建一个Excel表格了 创建Excel表格一般有两种方法: 一:通过导入xlwt库来创建,这种是最常规的方法,不过相对也比较麻烦 二:通过导入csv库来创建 接下来我们具体操作一下 一:使用xlwt库
这种方法创建Excel表的过程很直观,也很好理解,这里来逐行解释一下 1 导入xlwt库 2 创建工作表对象,并设置编码格式为utf-8 3 添加一个sheet表,参数为sheet的表名 4 sheet.write()是写入内容的方法 参数一:表示行数 参数二:表示列数 参数三:表示要写入的内容 6 保存Excel表,注意表名后面要加.xls后缀 二、使用csv库csv全称:comma sepreated value 逗号分割值 使用csv创建Excel表与os创建txt文件形式上差不多,因为使用csv的话系统会直接以Excel表的形式帮你保存数据 不需要你额外再创建Excel表 不过csv创建的Excel表格并不完全算是.xls文件,它与平常的.xls文件有以下几种不同: 1.由于是纯文本,所以所有的值均为字符串类型 2.无法进行字体操作和单元格操作,比如无法改变字体大小,颜色等,无法改变单元格的大小等 3.无法创建多个工作表 4.无法嵌入图片 1.写入数据这里依旧先放代码: 注意看rows和rows1的区别 按照rows1的写法数据存入的时候会被修改,所以这种写法虽然没有语法错误,但实际执行的时候这种写法是错误的
输出结果: 关于其中的代码我解释一下: with open('test1.csv','w',newline='')as csv_file: open():打开一个文件 'w' : 写入内容 ,同样的还有 'r':读取内容 'a':追加写入内容 newline='' :去掉空行 ,大家有空的话可以试试不写newline=''的效果,这里就不演示了
这行代码是同时写入多行,效果与逐行写入一样 2.读取数据以上面这个test1.csv文件为例:
输出结果:
因为结果最外层是list形式,所以要把reader转换成list类型 DictWriter 和 DictReaderDictWriter:写入字典类型的数据
写法多了一行写入标题,创建writer的时候多了一个参数,其余并没有多大区别 DictReader:读取字典类型的数据
输出结果: [OrderedDict([('name', '一'), ('age', '15')]), OrderedDict([('name', '二'), ('age', '25')])] 这里的结果并不是常规的字典格式 这就是python中创建Excel表的两种方法,小伙伴们学会了吗? |
|