0

次のような使い慣れた csv 形式を解析する TextCtrl があります。

"ID","X","Y","Z"
1,199,486.5,13
2,200,485.3,12

正規表現を実行した後、CtrlList をリロードして変更を確認します。csv 形式を次のようなリスト セットに変換します。

[['ID', 'X', 'Y', 'Z'], ['2', '200', '485.3', '12'], ['1', '199', '486.5', '13']]

今のところ、私は実装しています:

datafile = open(message, 'r')  # message receiever from dispatcher 
datareader = csv.reader(datafile) 
data = [] 
for row in datareader: 
    data.append(row)   # Traceback - IOError: [Errno 22] invalid mode ('r') or filename

どのモードを使用しても、このエラーが発生します。理由を理解する必要があります。

4

1 に答える 1

0

オブジェクト、文字列、リストなどを渡す場合、それを開くことはできません。Python の open() は、ファイルまたはファイルのようなオブジェクトを開くためのものです。メッセージオブジェクトを StringIO 内にラップして、ファイルのようなオブジェクトに変換することをお勧めします。次に、 csv モジュールを使用して読み取ることができる場合があります。または、ファイルオブジェクトを、現在渡しているものではなく、ディスパッチャーを介して csv モジュール自体に渡すこともできます。

于 2013-10-14T18:39:11.107 に答える