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

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM