爲了從csv文件中刪除特定的行,我想爲我的行添加一個ID值。當然有幾種方法可以完成,我希望能夠通過可能的方式生成ID。簡單而簡短,但好方法是首選。什麼是生成ID以使行成爲個體的最佳方式?
也許是隨機大號使用random.randint(00000, 99999)
例如?但需要檢查可能的重複會讓我覺得有一個更好的解決方案。
另一種方法是將讀取csv文件將1
添加到每行的某個變量中。也許你甚至需要找出一種方法來檢查給定的行是否包含實際的csv內容,而不僅僅是\n
的結果。我嘗試了這個並取得了成功,但代碼非常漫長和難看。
我敢打賭,我無法想到更好的辦法。我可以在下面找到它。它適用於我的特定行格式和添加新行的方式。這就是我以前所說的。
我正在尋找Python 3+的解決方案,如果它不是很明顯的話。
import os
def ID(filename):
if os.path.isfile(filename):
if os.path.getsize() == 0:
return 1
else:
ID = 1
[ID += 1 for line in open(filename, "r")]
return ID
else:
return 1
如果添加了幾個字母標識的開始可能是比較明顯的:myID1,myID2, myID3 ...添加前導零可能也會提高可讀性:myID00001。 myID00002 ... – rossum
這些ID的用途是什麼?知道這將有助於確定合適的或最佳的技術。 – martineau
@martineau一些小程序,用於添加/刪除/列出例如藥物的記錄,以便跟蹤記錄。或食物/卡路里。類似的東西。這就是爲什麼16位數字鍵不適合。您應該能夠通過argparse輕鬆刪除它。例如'--remove 1232'。 – xvx