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