2015-04-02 72 views
2

Bascially我讀在一個名爲探測文件,它有它的名稱爲「12142014_2345.csv」,我想將其保存爲在文件名中讀,操縱它,然後將其保存

「12142014_2345_Averaged.csv」

以下是我所領導的代碼。

basename = os.path.basename(Sounding) 
basename,ext = os.path.split(basename) 
    with open(os.path.join(basename+'_Averaged'+ext)) as f: 
      w = csv.DictWriter(f, rows_1[0].keys()) 
      w.writeheader() 

這是我的錯誤。

Traceback (most recent call last): 
    File "C:\Users\Bud\Desktop\OWLES RECENT\Moving Average.py", line 151, in <module> 
    with open(os.path.join(basename+'_Averaged'+ext)) as f: 
IOError: [Errno 2] No such file or directory: u'_AveragedUIllinois_20131207Singular.csv' 

我不完全確定我在做什麼錯。

回答

1

您想使用os.path.splitext(分割擴展名)而不是split(即分割最後一個路徑元素)。 不要忘記以寫模式打開該文件(並檢查您的縮進):

basename,ext = os.path.splitext(basename) 
with open(os.path.join(basename+'_Averaged'+ext), 'w') as f: 
     w = csv.DictWriter(f, rows_1[0].keys()) 
     w.writeheader() 
+0

哇我甚至沒有看到我沒有在寫模式下打開它。我實際上必須將其作爲'ab'來完成,以便它在.csv文件中一行一行地寫入。謝謝! – twseewx 2015-04-02 22:24:50

+0

不客氣,實際上這是個異常抱怨的問題:文件不存在,但如果您嘗試在寫入模式下打開,那就相當不錯了。這個例外並不在意名稱是錯誤的。 – 2015-04-02 22:28:29

0

望着在跟蹤文件名,你可以看到「_Averaged」完整的文件名來之前。 os.path.split尋找目錄分隔符(通常是斜線)。我想你想要os.path.splitext,它將字符串拆分爲路徑和擴展名。由於您已經有了基本名稱,路徑將是沒有擴展名的文件名。

相關問題