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

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

如何在 CSV 中添加多行,但每次運行腳本時都覆蓋?

如何在 CSV 中添加多行,但每次運行腳本時都覆蓋?

慕尼黑5688855 2021-10-19 16:18:04
所以我正在運行一個腳本,它為 60 個不同的項目提取數據,為了方便使用,我想將此數據存儲在一個 csv 文件中。每次運行腳本時,我都想存儲所有 60 個項目,然后覆蓋所有以前的數據。當我現在使用 'w' 參數運行它時,它只添加它提取的最后一個項目。如果我將其更改為“a”,它將添加所有 60 個項目,但是當我接下來運行它時它不會覆蓋。任何幫助表示贊賞!import os, random, csvvin = '1600'n = 1for path, subdirs, files in os.walk(r'\\sorion-app01\Shares\ProcessData\Broadcasts\Good'):   for filename in files:        if not 'XX' or not '0X' or not 'XXXXXX' or not '000X' in filename:            f = os.path.join(path, filename)            vins = str(f)[50:67]            if not 'X' in vins[13:17]:                vin = int(vins[13:17])                if vin > 1600:                     from sys import platform                    import pyodbc                    if platform == "linux" or platform == "linux2":                        print("linux")                        driver = 'mydriver.so'                        conn = pyodbc.connect(                            driver = driver,                            TDS_Version = '7.2', # Use for                            server = 'aserver',                            port = 1433,                            database = 'TraceDB',                            uid = 'EXTUser',                            pwd = 'EXTPass!')                    elif platform == "win32":                        #print("Win32")                        conn = pyodbc.connect('DRIVER={SQL Server};SERVER=database')                   #pull the data here#                    with open('file.csv', 'w', newline='') as csvfile:                        filewriter = csv.writer(csvfile, delimiter=',',                                                quotechar='|', quoting=csv.QUOTE_MINIMAL, lineterminator = '\n',)                        header = [('column1'), ('column1'), ('column2'), ('column3'), ('column4'), ('column5')]                        if not csvfile:                            filewriter.writeheader(header)                        filewriter.writerow([data, data2, data3, data4, data5, data6])                        n=n+1
查看完整描述

2 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

這是因為您每次循環都要重新打開文件;你想在循環之前打開它并在循環之后關閉它。


查看完整回答
反對 回復 2021-10-19
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

在代碼的最開始將其覆蓋為空文件對您有用嗎?


import os, random, csv


with open("file.csv", "w") as my_empty_csv:   

         pass 



vin = '1600' n = 1


[...]

最好的事物!


查看完整回答
反對 回復 2021-10-19
  • 2 回答
  • 0 關注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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