我有下面的功能,可以找出装货的日期和工作表名称,我希望此工作表名称-> load_date得到更新,但会添加新行,所以就像如果不存在则添加新键一样更新同一密钥的值,有什么办法可以解决?
def func_append_load_date(df,
sheet_name,
path,
input_thresh):
"""
Function to update load date
"""
thresh = 1 + input_thresh
next_update_date = df['date'].iloc[df.shape[0] - thresh].date()
print(path)
with open(path, 'a+', newline='') as csvfile:
fieldnames = ['dataset','load_date']
file_is_empty = os.stat(path).st_size == 0
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
if file_is_empty:
writer.writeheader()
writer.writerow({'dataset':sheet_name, 'load_date':next_update_date})
当前csv包含一些行,例如是否为2个不同的工作表名称运行了两次:
original_building,1/12/2017
original_building,1/12/2017
original_building_2,3/12/2018
original_building_2,3/12/2018
预期的csv:
original_building,1/12/2017
original_building_2,3/12/2018