2017-09-07 25 views
0

最近、私はいくつかのデータをcsvファイルとして保存し、それを絶対パスに保存するというプロジェクトを持っていました。 ここに私のコードです。csvファイルを特定のパスに保存する方法は?

import csv 
a=[1,2,3,4,5,6,7,8,9] 
with open("C:/test.csv","w") as f: 
    writer = csv.writer(f) 
    writer.writerows(a) 

が、それはこの

Traceback (most recent call last): 
    File "C:/Users/rickchen/Desktop/save1.py", line 3, in <module> 
    with open("C:/test.csv","w") as f: 
IOError: [Errno 13] Permission denied: 'C:/test.csv' 

のようないくつかのエラーがいずれかのマスターが私を助けることができる示して?ありがとうございます^^^

+2

を使用していると仮定し

C:\Users\Fred\Desktop\test.csv 

os.path.join()は安全のようなあなたのファイル名を与えて、適当なセパレータと一緒に様々なビットを結合するために使用されますWindows 3.1を使用していない:権限を昇格しない限り、Cドライブのルートに書き込むことはできません。これはPythonの問題ではありません –

+2

ここではマスター以外の方が話しています。そのディレクトリに対する書き込み権限がありません。別のものを使用してください。 –

+0

許可を書くには? –

答えて

0

あなたのCドライブのルートに書き込むための書き込み権限がない可能性があります。試してみるにはいくつかの方法があります:

  1. Pythonを管理者権限で実行してください。これは明らかにスクリプトの実行方法によって異なります。たとえば、コマンドプロンプトを起動してスクリプトを実行している場合は、そのスクリプトを右クリックして[管理者として実行]を選択します。

  2. Windowsを使用して、ユーザーアカウントにC:\ルートフォルダへの書き込みアクセス権を付与します。

  3. 出力ファイルが別のアプリケーションで開いていない可能性があります。

  4. 理想的には、より適切なフォルダに書き込む必要があります。たとえば、Desktop、またはDocumentsフォルダに出力を書き込むのは簡単です。

次のようにスクリプトが更新されることができます

import csv 
import os 

a = [1, 2, 3, 4, 5, 6, 7, 8, 9] 

filename = os.path.join(os.environ["HOMEDRIVE"], os.environ["HOMEPATH"], "Desktop", "test.csv") 

with open(filename, "wb") as f: 
    writer = csv.writer(f) 
    writer.writerow(a) # Or use writer.writerows([row] for row in a) for one per line 

os.environ["HOMEDRIVE"]os.environ["HOMEPATH"]はあなたに適したパスを与えるだろうDesktopまたはDocumentsのいずれかを追加し、ユーザーのホームフォルダを与えるだろう。これは、あなたが任意のマスターまたは非マスターがあなたのことを言うことができるのPython 2.xの

関連する問題