質問

下記のコードを使用しているため、ファイルに正しい情報を入手しています。これがコードです:

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スタイルのNewlines(\n)Windows Newlines(\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'に置き換えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top