2017-09-07 1 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

파이썬 2.X를 사용하는 가정 os.path.join() 안전하게 같은 당신에게 파일 이름을주고 적절한 분리와 함께 다양한 비트를 결합하는 데 사용됩니다 Windows 3.1을 사용하지 않는 경우 : 상승 된 권한이 없으면 C 드라이브의 루트에 쓸 수 없습니다. 이것은 파이썬 문제가 아닙니다 –

+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 중 하나가 당신에게 적합한 경로를 줄 것이라고 덧붙였다.

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

이것은 당신이 어떤 마스터 또는 비 마스터가 당신에게 당신 것을 할 수

관련 문제