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()

  

 

 

上一篇:agc022D - Shopping


下一篇:python自动巡检H3C交换机