0

これを行う簡単な方法があると確信しているので、ここに行きます。リストを列の CSV にエクスポートしようとしています。(基本的には、生成したデータを別のプログラムが使用できるようにする方法です。) [frames] というグループがあり、[frame001]、[frame002]、[frame003] などが含まれています。CSV ファイルが必要です。これは、[frame001] のすべての値を最初の列に、[frame002] を 2 番目の列に、というように生成されます。ファイルをCSVとして保存できればExcelで操作できると思っていましたが、そのステップをスキップするようにプログラムできる解決策があると思います。

これは私がこれまで使ってみたコードです:

import csv

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

私も試しました:

import csv

myfile = open(..., 'wb')
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
wr.writerow(mylist)

最近私が試した:

import csv

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

さらに調査した結果、実際には XML ファイルを作成する必要がありますが、それでもデータを正しい順序にする必要があります。つまり、列の [frame001] の内容、次の列の [frame002] などです。すべてのフレームには、同じ量の情報が含まれています。

ご協力いただきありがとうございます。

これは、最初の 2 列がどのように見えるかのデータの例です: [255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0 , 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0], [0, 171, 205, 0, 171, 205, 0, 171, 205, 0, 171 , 205, 0, 171, 205, 0, 171, 205, 0, 171, 205, 0, 171, 205, 0, 171, 205, 0, 171, 205]

それがいつあるべきか:

255 0
0 171
0 205
255 0
0 171
0 205
255 0
0 171
0 205
255 0
0 171
0 205
255 0
0 171
0 205
255 0
0 171
0 205
255 0
0 171
0 205
255 0
0 171
0 205
255 0
0 171
0 205
255 0
0 171
0 205

それが理にかなっていることを願っています。

4

2 に答える 2

0

最後の解決策は問題なく機能するはずです。どのようなエラーが発生しましたか?

xmlに変換するには、「行」ごとに辞書を作成し、ここにリストされているソリューションの1つを使用できます。Python辞書をXMLにシリアル化します

于 2012-07-23T21:24:00.910 に答える
0

XML は、実際には csv のような行と列に基づく形式ではありません。これは階層的であり、おそらく行/列データを格納するための最適な形式ではありません。行と列を指定するにはタグが必要です。これを別のアプリケーションにインポートする場合は、正しく解析するために行タグと列タグが何であったかを知る必要があります。

2 番目のアプリケーションも Python で作成されていますか? その場合は、python pickle モジュールを使用して、2D python リストをシリアル化してください。そうすれば、2 番目のアプリは、csv または xml にマーシャリングするのではなく、2D リストとして読み込むことができます。

于 2012-07-23T21:44:11.647 に答える