2017-09-14 5 views
1

코딩 용도로 python3 (python3.6.1을 사용 중입니다)을 사용하고 있습니다.경로가 Python3을 사용하는 명령 줄 인수 일 때 pandas를 사용하여 csv 파일 이름을 읽을 수 없습니다

args = sys.argv 
    filename = args[1] 
    data = pd.read_csv(filename) 

그러나 파일이 존재하더라도 존재하지 않는다고합니다. 파일 이름 앞에 b 접두사가있는 바이트 문자열로 인코딩 된 것을 볼 수 있습니다.

다음 코드도 시도해 보았습니다.

filename = StringIO(filename) 
    data = pd.read_csv(filename) 

이제 오류가 없습니다. 그러나 파일의 이름으로 열이있는 빈 데이터 프레임이 표시됩니다.

나는 명령을 사용하여 프로그램을 실행했다.

python id3.py /path/to/filename.csv 

다른 사람이 나를 도울 수 있거나 누군가가 대답 할 수있는 링크를 가르쳐 줄 수 있습니까?

편집 : - 경로에 문제가있었습니다. CSV 파일의 경로에는 여러 공백이 있습니다. 그러므로 우분투는 그것을 '% 20'으로 바꿨습니다. 파이썬이 바이트 문자열로 읽었을 것입니다. 따라서 csv 파일을 읽을 수 없습니다.

경로의 공백을 제거했을 때. python pandas가 csv 파일을 읽을 수있었습니다.

감사

+0

질문에 입력을 넣을 수 있습니까 – GiantsLoveDeathMetal

+0

'print (filename)'출력은 무엇입니까? – GiantsLoveDeathMetal

+0

인쇄 명령이 /path/to/filename.csv를 제공하고 있습니다. 그러나 FileNotFounderror : b '/ path/to/filename.csv'오류가 표시됩니다. – megamind

답변

0

시도 "파일/경로/spaces.csv와"

당신은 예를 들어, 스크립트를 실행할 때 그래서 인용 부호를 사용하여

python script.py "file/path/with spaces.csv"