공간을 만들로 구분된 파일에서는 파이썬
-
13-12-2019 - |
문제
아래 코드를 사용하여,내가 올바른 정보를 파일의 종류입니다.여기에는 코드:
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)
제휴하지 않습니다 StackOverflow