문제

아래 코드를 사용하여,내가 올바른 정보를 파일의 종류입니다.여기에는 코드:

filename = raw_input('What would you like to name the file? ')

import csv

data = [frames]
out = csv.writer(open(filename,"w"), delimiter=' ',quoting=csv.QUOTE_MINIMAL)
out.writerows(data)

이를 생성을 이와 같이 텍스트 파일:

"[255   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
   0   0]" "[  0 171 171 171 171 171 171 171 171 171 171 171 171 171 171 171 171 171
 171 171]" 

나는 다음과 같은 정보를 보 다음과 같다:

255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 []0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2 대괄호 문자를 나타냅 나타내는 새로운 행을의 정보입니다.그것은 작은 사각형 내에서 텍스트 편집기로 나는 어떤 문자입니다.

그래서,어떻게 제거하는 따옴표 및 브래킷과 이용이 다른가?

편집:

나가려고 아래 코드를 사용하여 다음과 같은 오류를 가지고있다:

Traceback (most recent call last):   
  File "(stdin)", line 1, in (module)   
  File "backandforth3.py", line 154, in (module)
    out.write(' '.join(frame)) 
Type Error: sequence item 0: expect string, numpy.int32 found
도움이 되었습니까?

해결책

나는 가정하고 당신이 사용하는 메모로 당신의 텍스트 편집기입니까?Unix-style 개행 문자(\n 쇼)로 상자를 메모장에서만 지원하기 때문에 윈도우바꿈(\r\n).는 말했다,이것을 제공해야 합 출력이 기대하고 있:

filename = raw_input('What would you like to name the file? ')

with open(filename, 'wb') as out:
    for frame in frames:
        out.write(' '.join(str(num) for num in frame))
        out.write('\r\n')

이유가 있 포장 frames 에서 또 다른 목록가정한 변수 목록의 숫자로,예상되는 출력을 나타내는 것이 잘 작동합니다.

또한,당신이 절대적으로 필요가"상자에"당신이 설명하는 출력에서 대체 '\r\n''\n'.

다른 팁

는 경우 frames 은 numpy 배열 사용할 수 있습니다 numpy.savetxt() 기능:

numpy.savetxt(filename, frames)

을 수정 csv 코드 오픈에서 파일을 바이너리 모드 wb 가 손상 되지 않도록의 끝 라인,그리고 감지 마십시오 frames 에서 또 다른 목록을 것 같이 이미 2D 배열:

import csv

with open(filename,"wb") as f:
    writer = csv.writer(f, delimiter=' ', quoting=csv.QUOTE_MINIMAL)
    writer.writerows(frames)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top