查看“Python题库:文件”的源代码
←
Python题库:文件
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==替换文件中的敏感信息== 类型:文件处理 ===描述=== 假设我们有一份文件(编码格式UTF-8),文件中包含了很多个人隐私信息。 现在需要一份去除其中敏感信息的版本,将文件中所有手机号的4~7位和身份证号的7~14位用 * 替换。 示例: 如果读入文件内容为: 张三 居住地:武汉 身份证号:420111199909091234 手机号:13013013130 输出结果是: 张三 居住地:武汉 身份证号:420111********1234 手机号:130****3130 ===输入格式=== 读取附件的文件123.txt: <nowiki>张三 居住地:武汉 身份证号:420111199909091234 手机号:13212341234 李四 居住地:北京 身份证号:11010120000101234X 手机号:13988777777 王五 居住地:深圳 身份证号:610101198808082222 手机号:13766654321</nowiki> ===输出格式=== <nowiki>张三 居住地:武汉 身份证号:420111********1234 手机号:130****3130 示例 1 输入: 文件部分内容: 张三 居住地:武汉 身份证号:420111199909091234 手机号:13013013130 输出: 文件部分内容输出: 张三 居住地:武汉 身份证号:420111********1234 手机号:130****3130</nowiki> ==缺失数据处理== 类型:文件 ===描述=== 附件文件中存在一些缺失数据,请找出这些缺失值并用输入的字符串 s 来替换。 ===输入格式=== 输入一个字符串s 给定一个文件123.csv: <nowiki> ,,20.76249006,0.000168044,,,18.9104994,0.08860522 ,,20.77301274,0.000149807,,,18.92102208,0.086064377 ,,20.78353541,0.00013318,,,18.93154475,0.083365648 ,,20.79405809,0.000118071,,,18.94206743,0.080528602 ,,20.80458076,0.000104387,,,18.9525901,0.077573307 ,,20.81510343,9.20E-05,,,18.96311277,0.07452009 ,,22.33036852,0,,,18.97363545,0.071389313 ,,,,,,18.98415812,0.068201145 ,,,,,,18.9946808,0.064975352 ,,,,,,19.00520347,0.061731102 ,,,,,,19.01572615,0.058486784 ,,,,,,19.02624882,0.055259852 ,,,,,,19.03677149,0.052066246</nowiki> ===输出格式=== 处理结果以二维列表形式输出,元素为原文件的每一行切分成的列表 示例 1 输入: a 输出: [['a', 'a', '20.76249006', '0.000168044', 'a', 'a', '18.9104994', '0.08860522'], ...... ['a', 'a', 'a', 'a', 'a', 'a', '19.03677149', '0.052066246']] (此处仅给出第一行和最后一行数据,供参考格式) ==统计文本中单词数== 类型:文件处理 ===描述=== 编程统计文本中的单词数量,不包括空格和除单引号以外的标点符号(!"#$%&()*+,./:;<=>?@[\]^_{|}~\n),这些符号和空白符一样都是单词的分隔符,数字及多个连续的数字按一个单词计算,类似I'll和wife's等单词当成一个词计。 ===输入格式=== 文本文件3.txt: <nowiki> Amerigo Bonasera sat in New York Criminal Court Number 3 and waited for justice;vengeance on the men who had so cruelly hurt his daughter, who had tried to dishonor her. </nowiki> ===输出格式=== 单词数量 示例 1 输入: test.txt 输出: 31 ``` ==统计字母数量== 类型:文件 ===描述=== 读取附件是一篇英文短文,请编写程序统计这篇短文前 n 行中每一个英文字母出现的次数,结果按次数降序排列,次数相同时,按字母表顺序输出。若 n 值大于短文行数,输出整篇文章中每一个英文字母出现的次数(大写字母按小写字母统计)。 附件:英文文本下载:https://python123.io/resources/pye/hamlet.txt ===输入格式=== 输入一个正整数 n ===输出格式=== 分行输出每个字母的数量,数量占3个字符宽度,居右对齐(参考示例输出) 示例 1 输入: 10 输出: <nowiki>e 的数量是 179 个 a 的数量是 125 个 t 的数量是 121 个 h 的数量是 116 个 o 的数量是 101 个 s 的数量是 92 个 i 的数量是 91 个 n 的数量是 88 个 d 的数量是 77 个 r 的数量是 60 个 l 的数量是 49 个 f 的数量是 46 个 w 的数量是 45 个 m 的数量是 41 个 y 的数量是 40 个 u 的数量是 35 个 c 的数量是 32 个 b 的数量是 29 个 g 的数量是 20 个 k 的数量是 19 个 p 的数量是 13 个 v 的数量是 9 个 q 的数量是 1 个 x 的数量是 1 个 j 的数量是 0 个 z 的数量是 0 个</nowiki> == 地区查询== ===描述=== 附件文件中包含全国各地区的地区编码,对应身份证的前6位。身份证的前2位代表省名,在文件中可能存在身份证前2位数字后面加4个0的编码,代表省、自治区或直辖市;身份证号前4位代码地区名,在文件中可能存在身份证前4个数字后面加2个0的编码,表示市或地区。省和地区这两个编码也有可能不存在。输入身份证号前6位,查询到该编码对应的省、市、县(区)。某一项查询不到时,返回并输出空字符串。 附件文件下载: <nowiki>链接:https://pan.baidu.com/s/1sQyAlopW9QdqSiEBcWSPPw?pwd=te6v 提取码:te6v</nowiki> ===输入格式=== 输入身份证号前6位 ===输出格式=== 参考示例分三行输出省、市、县(区) 示例 1 <nowiki>输入: 110113 输出: 北京 顺义区 </nowiki> 示例 2 <nowiki> 输入: 421221 输出: 湖北 咸宁市 嘉鱼县</nowiki> ==Tiobe排行榜数据处理== 类型:文件 ===描述=== 附件文件tiobe.txt是截止2020年5月为止Tiobe程序设计语言排行榜前十的数据,包括'C','Java','Python','C++','C#','Visual Basic','JavaScript','PHP','SQL','R'这10种程序设计语言某年某月的热度指标。请处理tiobe.txt文件中的文本,使其能通过语言名称和年份进行热度指标的查询。 题目要求输入一个程序设计语言名称和一个年份,筛选出该语言该年的数据信息并按要求输出相关数据。 提示: (1)dict1=eval("{'c':[[(2001, 5, 30), 20.24], [(2001, 6, 30), 20.77], [(2001, 7, 30), 20.75] ] }")语句可以直接将字符串转换为字典赋值给dict1。 (2)可以让文件里所有数据形成字典,形如{'c':[[(2001, 5, 30), 20.24], [(2001, 6, 30), 20.77], [(2001, 7, 30), 20.75]] ,'python':[[(2001,5,20),5.7],[(2001,6,20,6.7)],[(2001,7,20),12.9]], ... }。 附件文件下载: 链接:https://pan.baidu.com/s/1riBJXOD75jXS9StxrIOnRA?pwd=pjhx 提取码:pjhx ===输入格式=== 输入为两行: 第一行是一个字符串,为某程序设计语言的名称PL_name; 第二行为一个正整数year。 ===输出格式=== (1)如果在给定的tiobe数据中能查询到PL_name在year年份的数据,则按照示例格式输出PL_name在year年的所有指标数据(按照日期升序排列),并输出本年热度指标的平均值(保留小数点后两位)。 (2)如果在给定的tiobe数据中不能查询到PL_name在year年份的数据,则输出“没有查到PL_name语言year年的tiobe数据”。 注意:查询时不考虑PL_name的大小写。 示例 1 输入: python 2001 输出: <nowiki>[(2001, 5, 30), 1.25] [(2001, 6, 30), 1.13] [(2001, 7, 30), 1.2] [(2001, 8, 28), 1.17] [(2001, 9, 26), 1.28] [(2001, 10, 28), 1.23] [(2001, 11, 31), 1.04] python语言2001年的tiobe平均值是1.19</nowiki> 示例2 输入: R 2008 输出: <nowiki>[(2008, 0, 3), 0.04] [(2008, 1, 7), 0.06] [(2008, 5, 1), 0.09] [(2008, 6, 2), 0.08] [(2008, 7, 3), 0.06] [(2008, 8, 3), 0.07] [(2008, 9, 6), 0.07] [(2008, 10, 2), 0.08] [(2008, 11, 3), 0.07] r语言2008年的tiobe平均值是0.07 </nowiki> 示例3 输入: Visual Basic 2001 输出: 没有查到visual basic语言2001年的tiobe数据 示例4 <nowiki>输入: Lisp 2001 输出: 没有查到lisp语言2001年的tiobe数据</nowiki> ==csv文件排序输出== ===描述=== 读入grade0.csv文件,按照要求对第i列升序排列后输出。(提示:可以使用语句fo=open('grade0.csv','r',encoding='UTF-8')来打开文件。) Grade0.csv文件的内容形如下图: [[文件:python2022120202.png|600px]] 链接:https://pan.baidu.com/s/12nLDjcB_fUyqI60r7Ui1PQ?pwd=wrl3 提取码:wrl3 --来自百度网盘超级会员V9的分享 ===输入格式=== 输入为一个数正整数 i,要求根据 grade0.csv 文件的第 i 列值升序排列后输出文件中的数据,当第 i 列数据值相同时,按第 1 列数据的值辅助排序(测试数据保证为正整数且不超过数据列数)。 ===输出格式=== 按行输出排序后的信息,数据列之间用tab(‘\t’)分隔,最后一列后面没有空格。 输入输出示例 输入 4 输出 <nowiki> 20170101 章阳 Male A 20170102 徐芳 Female A 20170112 胡瑞欣 Female A 20170113 田益宾 Male A 20170115 张铭武 Male A 20170106 周思云 Female B 20170109 刘春燕 Female B 20170110 刘兴怡 Female B</nowiki>
返回至
Python题库:文件
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息