我正在開發一個需要處理大量數據的程序,但我想先將該數據保存在本地存儲結構中,然后再將其遷移到數據庫。所以,我的問題是:保存該數據的最佳文件類型(或本地存儲結構)是什么(這是結構化的,為此,我們假設它只是一個 id 和一個名稱),以某種方式可以搜索和插入優化嗎?我的雖然是一個 CSV 文件,因為數據是結構化的,這可以保存相對大量的數據(在這種情況下,我需要大約 1000 到 100 000 行),但我不確定是否有更好的在那里。我的想法是按名稱的字母順序對數據進行排序,因此在最壞的情況下,搜索操作將花費 O(n)。至于插入操作,我正在努力尋找一個好的解決方案,以按字母順序直接在文件中插入一行,因為我無法在兩行之間插入一行,所以我必須在插入后覆蓋整行我想要的那個。(我也考慮過將整個文件讀入一個列表,然后再次寫入,但如果文件太大,這不是最好的實現)。那么,誰能給我一些關于要使用的最佳文件類型的想法,以及哪種方法最適合插入和搜索優化?非常感謝!(這是我的插入算法,但它會產生隨機行為)def writingOpt(firstName, lastName, birthdate, country): try: file = open("players.csv", "r+", newline='') except FileNotFoundError: print("File players.csv not found") else: with file: reader = csv.reader(file) writer = csv.writer(file) name = firstName + ' ' + lastName inserted = False previousRow = [] previousPosition = 0 for row in reader: if name < row[0]: file.seek(previousPosition) if not inserted: previousRow = [name, birthdate, country] inserted = True writer.writerow(previousRow) previousRow = row previousPosition += len(','.join(row))
添加回答
舉報
0/150
提交
取消