python 逐一追加指定的字符串到csv文件,並且校驗去重

背景:

使用python下載哨兵1數據,對於下載失敗的文件,會在最後生成一組日誌,我需要根據這個日誌信息來對比源文件,把失敗的數據,重新生成需要下載的數據csv。

解決方案:

當在下載報錯的時候,就把這個文件名添加在指定的一個csv文件裏面,這樣程序跑完或者沒跑完,我就知道失敗的都有那些了。

腳本如下:

import csv

dataSet = []


def getFailedList(fileName):
    # 傳入的字符串追加到csv中
    if [fileName] not in dataSet:
        print('不存在當前元素,可以添加')
        with open('failList.csv', 'a', encoding="utf-8") as f:
            writer = csv.writer(f)
            writer.writerow([fileName])
    else:
        print('已有元素,不添加')


def getfails(csv_name):
    with open(csv_name, 'r', encoding="utf-8") as f:
        csv_reader = csv.reader(f)
        rows = [row for row in csv_reader]
        return rows


try:
    dataSet = getfails('failList.csv')
    getFailedList('2')
except IOError:
    getFailedList('22')

解釋說明:

1.引入csv庫來處理csv文件,先執行getfails函數,讀取保存失敗文件的csv,如果不存在,會走except,直接執行生成文件並且添加的函數 getFailedList,這樣可以保證這個保存失敗數據的csv是存在的。

2. 定義dataSet來記錄當前失敗的數據list, 然後在每次插入數據之前比對一下,如果不存在就插入,如果存在就跳過。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章