引言

  • Python每日一练又开始啦,今天的专题和Excel有关,主要是实现将txt文本中数据写入到Excel中,说来也巧,今天刚好学校要更新各团支部的人员信息,就借此直接把事情做了
  • 主要对于三种数据类型处理,字典型,字符串,列表
  • 使用的库有xlwt,json,主要做的操作有文件读取,数据读取以及生成xls文件(保存xlsx,会打不开)

字典型数据

  • 实现分析:将文本文件读取,然后用json读取为标准形式数据,即易于人阅读和编写的数据,最后实例化一个xls,对其写入数据,生成文件
  • 代码实现:
# -*- coding:utf-8 -*-
# Author : Konmu
'''
纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示: {
"1":["张三",150,120,100],
"2":["李四",90,99,95],
"3":["王五",60,66,68]
}
请将上述内容写到 student.xls 文件中
'''
import json
import xlwt f = open('C:/Users/xxx/Desktop/t.txt','r',encoding='utf-8')
content = f.read()
data = json.loads(content) #用于将str类型的数据转成dict work = xlwt.Workbook()#生成Workbook对象
Sheet_Student = work.add_sheet('student',cell_overwrite_ok=True)#创建sheet对象 '''
写入信息内容
'''
col = 0
row = 0 for k,v in data.items():
Sheet_Student.write(row,col,k)
for i,j in enumerate(v):
Sheet_Student.write(row,i+1,j)
row+=1
work.save('C:/Users/xxx/Desktop/信息统计.xls')
  • 测试效果:

字符型数据

  • 和上面这个比起来简单多了,就不赘述了
  • 代码示例:
# -*- coding:utf-8 -*-
# Author : Konmu
'''
纯文本文件 city.txt为城市信息, 里面的内容(包括花括号)如下所示: {
"1" : "上海",
"2" : "北京",
"3" : "成都"
}
请将上述内容写到 city.xls 文件中
'''
import json
import xlwt f = open('C:/Users/xxx/Desktop/city.txt','r',encoding='utf-8')
content = f.read()
data = json.loads(content) #用于将str类型的数据转成dict work = xlwt.Workbook()#生成Workbook对象
Sheet_Student = work.add_sheet('student',cell_overwrite_ok=True)#创建sheet对象 '''
写入信息内容
'''
col = 0
row = 0
for k,v in data.items():
Sheet_Student.write(row,col,k)
Sheet_Student.write(row,1,v)
row+=1
work.save('C:/Users/xxx/Desktop/city.xls')

列表型数据

  • 最简单的一个,大家想练习的话,可以先着手弄这个,题目给的时候是由难到易的
  • 代码示例:
# -*- coding:utf-8 -*-
# Author : Konmu
'''
纯文本文件 numbers.txt, 里面的内容(包括方括号)如下所示: [
[1, 82, 65535],
[20, 90, 13],
[26, 809, 1024]
]
'''
import json
import xlwt f = open('C:/Users/xxxx/Desktop/number.txt','r',encoding='utf-8')
content = f.read()
data = json.loads(content) #用于将str类型的数据转成dict work = xlwt.Workbook()#生成Workbook对象
Sheet_Student = work.add_sheet('student',cell_overwrite_ok=True)#创建sheet对象 '''
写入信息内容
'''
for row in range(len(data)):
for col in range(len(data[0])):
Sheet_Student.write(row,col,data[row][col]) work.save('C:/Users/xxxx/Desktop/number.xls')

结语

  • Excel在我们的日常中运用的还是很广泛的,能够快捷的对大量数据进行操作还是能帮我们节省很多的时间的,完结,撒花★,°:.☆( ̄▽ ̄)/$:.°★

Python 每日一练(5)的更多相关文章

  1. python每日一练:0007题

    第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...

  2. [python每日一练]--0012:敏感词过滤 type2

    题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...

  3. Python 每日一练 | Flask 实现半成品留言板

    留言板Flask实现 引言 看了几天网上的代码,终于写出来一个半成品的Flask的留言板项目,为什么说是半成品呢?因为没能实现留言板那种及时评论刷新的效果,可能还是在重定向上有问题 或者渲染写的存在问 ...

  4. Python 每日一练(4)

    引言 今天继续是python每日一练的几个专题,主要涵盖简单的敏感词识别以及图片爬虫 敏感词识别 这个敏感词的识别写的感觉比较简单,总的概括之后感觉功能可以简略成if filter_words in ...

  5. Python 每日一练(3)

    引言 今天的每日一练,学习了一下用Python生成四位的图像验证码,就是我们常常在登录时见到的那种(#`O′) 思路分析 正如常见的那种图像验证码,它是由数字和字母的随机组合产生的,所以我们首先的第一 ...

  6. Python每日一练(1)

    这两天在做Python的每日一练,感觉收获颇丰,所以来记录分享一下,一共做了三个,涉及socket,PIL,pymysql三个库,另外终于开始了Flask框架的学习,后续也会做出一些分析 第一个是一个 ...

  7. Python 每日一练(2)

    引言 我又双叒叕的来啦,新博客的第二篇文章,这次是继之前公众号上每日一练的第二个,这次是专题实对于文件的一些处理的练习 主要有以下几类: 1.实现英文文章字频统计 2.统一剪裁某一指定目录下的所有图片 ...

  8. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词

    #coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...

  9. Python 每日一练(7)

    引言 今天的练习比较轻松,原本是有两题的,但是第一题那个大致看了一下,其实和之前的6个练习差不多,就是把xls中的文件数据读取出来后,进行一下处理,对于那题而言就是一个求和操作,所以就没练了,所以今天 ...

随机推荐

  1. muduo网络库源码学习————线程本地单例类封装

    muduo库中线程本地单例类封装代码是ThreadLocalSingleton.h 如下所示: //线程本地单例类封装 // Use of this source code is governed b ...

  2. matlab-均值滤波

    均值滤波 主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度.有效抑制加性噪声.缺点:容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理. 均值滤波器的缺点是存在着边缘模 ...

  3. python安装pycrypto库

    使用pycharm时安装pycrypto库,一直安装不上,提示安装成功,退出去一看,依旧没有 最后选择了pip安装,但一直报错(Microsoft Visual C++ 9.0 is required ...

  4. J - Super Mario HDU - 4417 线段树 离线处理 区间排序

    J - Super Mario HDU - 4417 这个题目我开始直接暴力,然后就超时了,不知道该怎么做,直接看了题解,这个习惯其实不太好. 不过网上的思路真的很厉害,看完之后有点伤心,感觉自己应该 ...

  5. H - Fire CodeForces - 864E 01背包

    https://codeforces.com/problemset/problem/864/E 这个题目要把这个按照物品毁灭时间进行排序,如果时间短就要排在前面,这个是因为要保证之后的物品的拯救不会影 ...

  6. System类&StringBuilder类

    System类 1.currentTimeMillis()方法 作用:获取当前系统时间的毫秒值[注意:从现在到1970年1月1日 00:00:00] 2.arraycopy(...)方法 作用:复制数 ...

  7. Blazor入门:ASP.NET Core Razor 组件

    目录 关于组件 组件类 静态资产 路由与路由参数 组件参数 请勿创建会写入其自己的组参数属性的组件 子内容 属性展开 任意参数 捕获对组件的引用 在外部调用组件方法以更新状态 使用 @ 键控制是否保留 ...

  8. ActiveMQ 持久订阅者,执行结果与初衷相违背,验证离线订阅者无效,问题解决

    导读 最新在接触ActiveMQ,里面有个持久订阅者模块,功能是怎么样也演示不出来效果.配置参数比较简单(配置没几个参数),消费者第一次运行时,需要指定ClientID(此时Broker已经记录离线订 ...

  9. neo4j在docker容器环境中无法启动的问题

    回去过了个周末,neo4j就无法启动了 数据还没备份出来,着急啊.上周回去前刚刚在研究怎么把数据导出来,尝试了一些容器导出的方法,没有成功.周一回来就无法启动了... 表现为启动后过几十秒又变为sto ...

  10. matlab 调用C程序进行simulink仿真

    文章目录 simulink仿真 创建C程序 编译C程序 运行结果 simulink仿真 simulink仿真中需要使用S-Function模块,可以实现调用C程序进行仿真,下面先建立一个简单的仿真: ...