python-CSV格式清洗与转换、CSV格式列变换、CSV格式数据清洗【数据读入的三种方法】【strip、replace、split、join函数的使用】
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函数的使用】的更多相关文章
- python练习 - 文本的平均列数+CSV格式清洗与转换
文本的平均列数 描述 打印输出附件文件的平均列数,计算方法如下: ...
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- Logstash处理json格式日志文件的三种方法
假设日志文件中的每一行记录格式为json的,如: {"Method":"JSAPI.JSTicket","Message":"JS ...
- python—字符串拼接三种方法
python—字符串拼接三种方法 1.使用加号(+)号进行拼接 字符串拼接直接进行相加就可以,比较容易理解,但是一定要记得,变量直接相加,不是变量就要用引号引起来,不然会出错,另外数字是要转换为字 ...
- 三种方法实现PCA算法(Python)
主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域.它的主要作用是对高维数据进行降维.PCA把原先的n个特征用数目 ...
- python字符串连接的三种方法及其效率、适用场景详解
python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& ...
- python每次处理一个字符的三种方法
python每次处理一个字符的三种方法 a_string = "abccdea" print 'the first' for c in a_string: print ord(c) ...
- JavaScript进阶(四)js字符串转换成数字的三种方法
js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...
- python更新数据库脚本三种方法
最近项目的两次版本迭代中,根据业务需求的变化,需要对数据库进行更新,两次分别使用了不同的方式进行更新. 第一种:使用python的MySQLdb模块利用原生的sql语句进行更新 import MySQ ...
随机推荐
- Linq 学习——将List集合作为筛选条件查询数据
例: A表是一个List集合,B表也是一个List集合 .A与B有一个共同的字段 RecognitionCarCode B表通过RecognitionCarCode去重后拿到两个值{'1','2'}记 ...
- leetcode c++做题思路和题解(1)——常规题总结
常规题总结 0. 目录 两数之和 1. 两数之和 耗时4ms(98.82%),内存6.2m. 两数之和--寻找中值向两边扩散法 1.1 思路 思路很简单,就是先找数组中target/2的前后两个值,然 ...
- C语言小练习之学生信息管理系统
C语言小练习之学生信息管理系统 main.c文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...
- 2019-07-28【机器学习】无监督学习之聚类 DBSCAN方法及其应用 (在线大学生上网时间分析)
样本: import numpy as np import sklearn.cluster as skc from sklearn import metrics import matplotlib.p ...
- qad progress数据库启动出错解决
1. 启动时报:SYSTEM ERROR: Wrong dbkey in block. Found 0, should be 6342528 in area 36. (439) ** Save fi ...
- Alpha-release 总结
因组员一周来事情较多,因此博客更新停滞了一个星期.这周我们已经开始了第二个release的相关工作,首先先对上一个release的工作进行简短总结. 团队在上个星期进行了alpha-release版本 ...
- stand up meeting 12/23/2015
part 组员 工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 基本完成单词本显示页面的设计和实现 4 完善页面切换 ...
- 5. history
https://developer.mozilla.org/zh-CN/docs/Web/API/History_API Browser History APIs
- srt字幕翻译
需要把字幕名改成i.txt 有有道和谷歌 代码: #Author:Chenglong Qian #Copyright :Chenglong Qian import json import reques ...
- Spring5:事务管理【整合Mybatis】
Spring 整合Mybatis 1:导入依赖 <dependencies> <!--测试依赖--> <dependency> <groupId>jun ...