[英]How do you edit a CSV row in Python 3?
誰能幫我解決這個問題(在 python 3 中):
def change(username, new_password):
filename = 'user.csv'
tempfile = NamedTemporaryFile(delete=False)
with open(filename, 'rb') as csvfile, tempfile:
reader = csv.DictReader(csvfile)
fieldnames = ['Name', 'DOB', 'POB', 'Username', 'Password', 'Role', 'Credit']
writer = csv.DictWriter(tempfile, fieldnames=fieldnames)
for row in reader:
if str(row['Username']) == str(username):
row['Password'] = new_password
writer.writerow(row)
shutil.move(tempfile.name, filename)
它總是給我一個錯誤,說“迭代器應該返回字符串,而不是字節(你是否以文本模式打開文件?)”。 我認為這與模式或其他東西有關..請幫助..
您正在將文件讀取為“rb”,這意味着它是以二進制模式讀取的。 嘗試將其設置為“r”。 此外,DictWriter 不會自動寫入磁盤,因此請記得保存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.