亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當沒有可從數據庫 python 和 mysql 檢索的記錄時,如何修復寫入文件硬編碼的頁眉/頁腳

當沒有可從數據庫 python 和 mysql 檢索的記錄時,如何修復寫入文件硬編碼的頁眉/頁腳

慕娘9325324 2021-12-17 15:39:09
我正在使用以下代碼從帶有硬編碼頁眉和頁腳的 MYSQL 數據庫表中將數據寫入 Python 文件:for record in cur.fetchall():    filteredrecord = (record[0] + "\t" + record[1])    print(filteredrecord)    feed_file = open("c:\\test\\test.txt", "w")    feed_file.write("Name" + "\t" + "Age" )    feed_file.write("\n" + (filteredrecord))    feed_file.write("\n" + "ENDOFFILE")    feed_file.close()當數據庫表中存在記錄時,這工作正常,但是當數據庫表中不存在記錄時,我從無中選擇被寫入我的文件,甚至是我的硬編碼頁眉和頁腳。當記錄存在時,我得到以下輸出:當沒有記錄存在時,我希望將以下內容寫入我的文件:當我的數據庫表中沒有記錄時,如何將上述內容寫入文件。謝謝
查看完整描述

1 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

您擁有用于打開文件、寫入頁眉/頁腳并再次關閉文件的完整代碼,所有這些都在迭代查詢返回的記錄的 for 循環中。事實上,如果你有多個記錄,它應該繼續打開文件,用新記錄覆蓋內容,包括頁眉/頁腳,然后關閉文件。


您想要的是打開文件一次,寫入標題,然后循環記錄并寫入每個記錄,最后寫入頁腳并關閉文件。代碼可能如下所示:


with open("c:\\test\\test.txt", "w") as feed_file:

    feed_file.write("Name" + "\t" + "Age" )


    for record in cur.fetchall():

        filteredrecord = (record[0] + "\t" + record[1])

        print(filteredrecord)

        feed_file.write("\n" + (filteredrecord))


    feed_file.write("\n" + "ENDOFFILE")

請注意,在使用該with結構時,您不需要顯式關閉文件。


查看完整回答
反對 回復 2021-12-17
  • 1 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號