2016-08-16 46 views
0

我正在保存我的.csv文件,該文件是與.py文件位於同一位置的某些查詢的結果。將.csv文件保存在.py文件所在的同一目錄中

import os 
with open(os.path.dirname(os.path.abspath(__file__))+'MyCSVFile.csv','wb') as output_file: 
    dict_writer = csv.DictWriter(output_file, keys) 
    dict_writer.writeheader() 
    dict_writer.writerows(myList) 

我似乎總是讓我的csv文件在一個目錄之前。當我打印os.path.dirname(os.path.abspath(__ file__))時,它給了我正確的路徑,但輸出MyCSVFile被保存在上面。這裏有什麼問題?

回答

2

你必須使用os.path.join CSV文件保存在同一目錄

import os 

dirname = os.path.dirname(os.path.abspath(__file__)) 
csvfilename = os.path.join(dirname, 'MyCSVFile.csv') 

with open(csvfilename, 'wb') as output_file: 
    dict_writer = csv.DictWriter(output_file, keys) 
    dict_writer.writeheader() 
    dict_writer.writerows(myList) 

爲例外

這應該工作
1

刪除對os.path.dirname的呼叫,因爲您已撥打os.path.abspath。調用dirname將返回目錄組件,因此您將在層次結構中獲取目錄。順便說一句:使用os.path.join來加入目錄的部分。

相關問題