1)CSV格式清洗与转换

描述

附件是一个CSV格式文件,提取数据进行如下格式转换:‪‬‪‬‬‪‬‮‬‪‬‭‬

(1)按行进行倒序排列;‪‬‪‬‪‬‪‬‪‬‮‬‬‪‬‮‬‪‬‭‬

(2)每行数据倒序排列;‪‬‪‬‪‬‪‬‬‪‬‮‬‪‬‭‬

(3)使用分号(;)代替逗号(,)分割数据,无空格。‬‮‬‪‬‭‬

按照上述要求转换后将数据输出。 ‪‬‬‪‬‪‬‪‬‮‬‪‬‭‬

输入输出示例

以下是一个格式示例,不是最终结果。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

输入

输出

示例 1

(以下内容在文件中)

1,2,3

4,5,6

7,8,9

9;8;7

6;5;4

3;2;1

fo = open("data.csv")
lt = fo.readlines( ) #一行为列表lt中的一个元素
lt = lt[::-1] #行逆序
for item in lt:
item = item.strip('\n') #去掉每行元素末尾的换行符
item = item[::-1] #对每行元素逆序
item = item.replace(" ","") #去掉每行元素的空格
item = item.split(',') #依据,将每行元素分割形成列表
print(';'.join(item)) #将列表item中的元素以;分割形成长字符串
fo.close()
#注意:使用strip()方法去掉每行最后的回车,使用replace()去掉每行元素两侧的空格。

 

2)CSV格式列变换

描述

附件是一个CSV文件,请将每行按照列逆序排列后输出,不改变各元素格式(如周围空格布局等)。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‬‪‬‮‬‪‬‭‬

输入输出示例

这是一个格式示例,不是正确结果。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

输入

输出

示例 1

(以下是文件内容)

1,2,3,4

a,b,c,d

4,3,2,1

d,c,b,a

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

附件   程序内如何读取附件?

附件 1: data.csv

#我的答案
fo = open("data.csv")
lt = fo.readlines( ) #返回列表lt
for item in lt:
item = item.strip('\n')
item = item.split(',')
item = item[::-1]
print(','.join(item))
fo.close() #参考答案
f = open("data.csv")
for line in f: #直接对文本文件f进行遍历
line = line.strip("\n")
ls = line.split(",")
ls = ls[::-1]
print(",".join(ls))
f.close()

 

3)CSV格式数据清洗

描述

附件是一个CSV文件,其中每个数据前后存在空格,请对其进行清洗,要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‬‪‬‭‬

(1)去掉每个数据前后空格,即数据之间仅用逗号(,)分割;‪‬‪‬‪‬‪‬‬‭‬

(2)清洗后打印输出。‪‬‪‬‪‬‪‬‪‬‮‬‬‮‬‪‬‭‬

输入输出示例

这里是一个格式示例,不是正确结果。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

输入

输出

示例 1

(在文件中)

1, 2, 3, 4, 5

'a', 'b' , 'c' , 'd','e'

1,2,3,4,5

'a','b','c','d','e'

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

附件   程序内如何读取附件?

附件 1: data.csv

#我的答案
fo = open("data.csv")
lt = fo.readlines( )
for item in lt: #一行一行处理,适用于大文件(十几G级别)
item = item.strip('\n')
item = item.replace(" ","")
item = item.split(',')
print(','.join(item)) #参考答案
f = open("data.csv")
s = f.read() #读入全部内容
s = s.replace(" ","") #一次性替换所有空格,适用于小文件
print(s)
f.close()

  

 

 

python-CSV格式清洗与转换、CSV格式列变换、CSV格式数据清洗【数据读入的三种方法】【strip、replace、split、join函数的使用】的更多相关文章

  1. python练习 - 文本的平均列数+CSV格式清洗与转换

    文本的平均列数 描述 打印输出附件文件的平均列数,计算方法如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬ ...

  2. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  3. Logstash处理json格式日志文件的三种方法

    假设日志文件中的每一行记录格式为json的,如: {"Method":"JSAPI.JSTicket","Message":"JS ...

  4. python—字符串拼接三种方法

    python—字符串拼接三种方法   1.使用加号(+)号进行拼接 字符串拼接直接进行相加就可以,比较容易理解,但是一定要记得,变量直接相加,不是变量就要用引号引起来,不然会出错,另外数字是要转换为字 ...

  5. 三种方法实现PCA算法(Python)

    主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域.它的主要作用是对高维数据进行降维.PCA把原先的n个特征用数目 ...

  6. python字符串连接的三种方法及其效率、适用场景详解

    python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& ...

  7. python每次处理一个字符的三种方法

    python每次处理一个字符的三种方法 a_string = "abccdea" print 'the first' for c in a_string: print ord(c) ...

  8. JavaScript进阶(四)js字符串转换成数字的三种方法

    js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...

  9. python更新数据库脚本三种方法

    最近项目的两次版本迭代中,根据业务需求的变化,需要对数据库进行更新,两次分别使用了不同的方式进行更新. 第一种:使用python的MySQLdb模块利用原生的sql语句进行更新 import MySQ ...

随机推荐

  1. C# 基础知识系列- 9 字符串的更多用法(二)

    0. 前言 上一篇文章介绍了字符串自身的一些方法,就是对象方法.在字符串体系中,还有一些是string类提供的静态方法.这两部分构成了字符串体系,当然还有一些三方库为字符串提供了扩展方法. 这里简单的 ...

  2. 在linux中使用mailx发送邮件

    [root@ml ~]# yum -y install mailx   #安装 [root@ml ~]# vim /etc/mail.rc 在最后一行添加(我这里使用的是qq邮箱): @qq.com ...

  3. 多级菜单初写(dict使用)

    #!/usr/bin/env python3# -*- coding:utf-8 -*-# name:zzyumap = { "中国":{ "北京":{ &qu ...

  4. react性能优化最佳实践

    1.PureComponent 的使用场景 PureComponent 和 Component 的区别是,PureComponent 自带 shouldComponentUpdate 生命周期函数,会 ...

  5. A 蚂蚁觅食

    A. 蚂蚁觅食(一) 单点时限: 1.0 sec 内存限制: 512 MB 一只饥饿的小蚂蚁外出觅食,幸运的小蚂蚁发现了好多食物,但是它只有一次搬食物的机会.可因为力气太小了,它不能搬走重量超过自己体 ...

  6. 开发一款图片压缩工具(二):使用 pngquant 实现图片压缩

    上一篇我尝试使用了 pillow 库对 png 图片进行了压缩,效果不好.这次我换用 pngquant 来压缩.pngquant 是用于 PNG 图像有损压缩的命令行实用程序和库.压缩程序会显著减小文 ...

  7. CentOS下宝塔如何部署Django项目?

    基础环境 装好宝塔服务 宝塔里装好[Python项目管理器] 宝塔里装好[Nginx] 把Django项目代码发到服务器 把代码放到服务器上有两种方法: 方法一:服务器上安装Git,通过Git Clo ...

  8. thinkphp5.0.x

    payload5.0.24 http://-----/index.php?s=index/think\app/invokefunction&function=call_user_func_ar ...

  9. 查看现有的 cipher suite

    openssl ciphers [-v] [-ssl2] [-ssl3] [-tls1] [cipherlist]

  10. hdu_1052 Tian Ji -- The Horse Racing 贪心

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...