引言

  • 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. P2542 【[AHOI2005]航线规划】

    P2542 [[AHOI2005]航线规划] 一个无向图,m个操作 删去一条边 给定两个点,求有多少边使得如果这条边不存在,给定的两个点不连通 一般这种删边的题目,考虑逆序加边处理 在删完的图中,任意 ...

  2. 题解 CF588A 【Duff and Meat】

    题意 有一个人,想吃 $n$ 天肉,第 $i$ 天需要吃 $a[i]$ 块肉,第 $i$ 天超市肉价为每块 $b[i]$ 元,买来的肉可以留到后面吃,求这个人在每天都吃到肉的情况下花费的最小值. 题目 ...

  3. vue添加,删除内容

    vue 提交添加内容,点击删除内容 1 html <input v-model="inputValue" /> <button @click="hand ...

  4. 学习Vue第二节,v-cloak,v-text,v-html,v-bind,v-on使用

    v-cloak,v-text,v-html,v-bind,v-on使用 <!DOCTYPE html> <html> <head> <meta charset ...

  5. Node 内存泄漏排查案例

    背景 在阿里云上看到我运行了一段时间的程序,发现 memory 一项基本是在稳步提升,就知道有内存泄漏的情况出现.如下图 近三日从 35% 升到 40%,缓慢而坚定的提升. 代码 排查此问题需要分析其 ...

  6. maven项目变成web项目

    具体步骤如图所示: 第一步:建议一个Maven Webapp项目  第二步:右击项目,选择属性,找到project facets,点击tuntimes标签选择apache tomcat v6.0选中P ...

  7. BOM基础

    BOM基础 打开窗口 window.open('about:blank','_blank') 第一个参数是打开哪一个口,第二个参数是在哪里打开窗口. 关闭窗口 window.close() windo ...

  8. Qt 操作sql server数据库

    添加qtsql的库 连接数据库 QSqlDatabase_db = QSqlDatabase::addDatabase("QODBC"); _db.setHostName(); _ ...

  9. Vant 顶部导航栏【van-tabs】Bug

    Vant 顶部导航栏[van-tabs]Bug 如果在外面包裹div控制显示隐藏会出现导航条不准确的bug 代码 <div class="selWrap" v-show=&q ...

  10. [hdu4911]逆序对相关

    思路:由于只能交换相邻的数,所以每次最多减小1个逆序对(且如果存在逆序对那么肯定可以减小1个)!于是乎..就是统计逆序对的裸题了.树状数组或归并都行. #pragma comment(linker, ...