[英]Increment a value of column in pandas/csv file when the row is appended in python
[英]Python - Sometimes an appended row to a CSV file is added to the end of the previous row
打開一個退出的文件並向其中寫入字典有時會將字典(被寫為一行)附加到前一行的末尾。 我將如何設置此代碼以始終防止這種情況? 似乎只有在先前的代碼“運行”崩潰並且我已經重新啟動代碼並且它開始從先前的運行寫入文件時才發生(我想要的-只是不添加到前一行的末尾)。
#Creating output dictwriter for results
with open(csv, 'a', 0) as outputFile:
fieldnames = csvCols
successWriter = csv.DictWriter(outputFile, fieldnames=fieldnames)
successWriter.writerow(out_dict)
outputFile.close()
以“ ab”模式打開文件會有所不同嗎?
您通常會在文件行中添加“ \\ n”,以便將其寫入下一行。
以下內容在Python 2.x中應該可以正常工作:
# Creating output dictwriter for results
with open(csv, 'ab') as outputFile:
successWriter = csv.DictWriter(outputFile, fieldnames=csvCols)
successWriter.writerow(out_dict)
即使您的腳本有問題, with
語句也會自動關閉文件。 如果不使用ab
模式,則每次調用writerow
都會導致多余的空行。
如果您使用的是Python 3.x,則需要滿足以下條件:
# Creating output dictwriter for results
with open(csv, 'a', newline='') as outputFile:
successWriter = csv.DictWriter(outputFile, fieldnames=csvCols)
successWriter.writerow(out_dict)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.