回覆列表
-
1 # 使用者2451411985798
-
2 # 使用者1465424935672
# read data from file
with open("data_src.txt", "rt") as src:
data = [ln.strip() for ln in src]
# distinct data and write to file with ", " join
with open("data_sto.txt", "wt") as sto:
sto.write(", ".join(list(set(data))))
python 中 set 是 “unordered collection of unique elements” 可以自動實現剔除重複資料。
由於集合元素順序的不確定性下面程式合併後的行順序不確定,但符合同一值只取一個的要求originfile=open(r"origin.txt")#開啟儲存資料的檔案myset=set()#建立集合mysetforlineinoriginfile.readlines():#讀取檔案每一行line=line.strip()#去掉每行前面和後面的空格和換行符myset.add(line)#將數字加人集合,由於集合的唯一性,已有值不會新增result=",".join(myset)#逗號隔開,合併集合為一個字串targetfile=open(r"target.txt","w")#開啟目標檔案寫入targetfile.write(result)#將結果寫入目標檔案originfile.close()#關閉原始檔案targetfile.close()#關閉目標檔案