簡體   English   中英

如何在現有的csv文件中寫入新行而不將其添加到最后一行?

[英]How to write a new row in an existing csv file without appending it in the last line?

我想向python中的現有.csv文件添加新行。

我通過在Windows的spyder IDE中的csv文件中追加一行來嘗試以下操作。

def write_to_file():

file = open('E:/Python/Sample//Dataset.csv','a')   
file.write(",".join([str(newID),request.form['username'],request.form['age']]))

file.close()

我希望新值出現在新行中。 但是它將新值附加在最后一行。

如果我添加名稱“ Erick”和年齡“ 60”,則輸出如下圖所示。 在此處輸入圖片說明

但是我希望下面這樣。

在此處輸入圖片說明

您正在執行的操作是正確的,但是您假設文件已經以換行符結束

您需要在寫入每一行之前和/或之后放置file.write("\\n")

一個簡單的版本是:

import csv

row =['Eric', '60']

with open('people.csv','a') as csvFile:   #a to append to existing csv file
    writer = csv.writer(csvFile)
    csvFile.write("\n")    #write your data to new line
    writer.writerow(row)
csvFile.close()

輸出(假設您的csv不以新行結尾):

在此處輸入圖片說明

請注意(如果您的csv以換行符結尾),輸出將有額外的空間:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM