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()
最新文章
- 基于SSH框架的学生公寓管理系统的质量属性
- 一看便知spring+quartz定时任务
- .net Session 详解
- FileStream大文件复制
- 远程连接Kali Linux使用PuTTY实现SSH远程连接
- ubuntu 14.04 下安装jdk8及 smartgithg
- Ubuntu环境下手动配置ant
- Oracle &; Sun
- C++ GUI Qt4编写的文本编辑器
- 将类数组对象(array-like object)转化为数组对象(Array object)
- MySQL数据类型--日期时间
- java.net.BindException: Cannot assign requested address: bind
- 随心测试_数据库_003 <;数据库存储结构>;
- SSM框架整合环境构建——基于Spring4和Mybatis3
- git 上传本地项目
- RSS阅读器“阅读原文”报错400
- Windows下用VS2015+MSYS编译OpenH264
- C++互斥器:Semaphores
- vuejs code splitting with webpack 3种模式
- 【SpringCloud】Netflix源码解析之Ribbon:负载均衡策略的定义和实现