2016-08-16 20 views
0

いくつかのクエリの結果である.csvファイルを.pyファイルと同じ場所に保存しようとしています。.csファイルを.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ファイルを1つ前のディレクトリに持っているようです。 os.path.dirname(os.path.abspath(__ file__))を出力すると、適切なパスが得られますが、出力MyCSVFileは上に保存されます。ここでの問題は何ですか?

答えて

2

あなたはこれを除外

として動作するはず

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) 

同じディレクトリにCSVファイルを保存するためにos.path.join使用する必要があります

1

os.path.dirnameへのコールは、すでにos.path.abspathに電話しているため、削除してください。 dirnameを呼び出すと、ディレクトリコンポーネントが返され、階層内のディレクトリが取得されます。 BTW:os.path.joinを使用して、ディレクトリの一部を結合します。

関連する問題