2011-02-01 26 views
0

データが入ったログファイルがあります。CSVファイルを作成する

このファイルをCSV(Excel)ファイルに変換したいと思います。

私は、Eclipseを使用して、Jythonの中で(最新バージョン)を書くが、私はいつもこのエラーを取得し、CSVファイルをインポートしようとすると:

ImportError: no module named csv.

は理由を知っていますか?

これは私のプログラムです:

import csv 
r = open('file.log') 
w = open('newfile.csv','w') 
writer = csv.writer(w) 
for row in r.readlines(): 
    writer.writerow(row.split()) 
r.close() 
w.close() 

今私はopenCSVを試してみました。 CSVファイルが作成されましたが、空です。

実際には、writeAllの問題があります。

writeNextと入力すると、通常はCSVファイルに1行だけが表示されますが、writeAllの場合はファイルが空です。

あなたの問題を解決する方法を知っていますか?

これは私のプログラムです:

from au.com.bytecode.opencsv import * 
from java.io import * 
for line in open("out.log"): 
    try : 
     en = line.split(" ") 
     writer = CSVWriter(FileWriter("out.csv")) 
     writer.writeAll(en) 
    except : IOException 

答えて

1

のJythonはcsvモジュールを持っていないようだ(、それはいくつかの場所で文書化されますけれども、それは、奇妙です)。その代わりに、Javaライブラリを使用して同じことを達成する必要があります。 OpenCSVのような人だと思われますが、自分で決定することができます(there's a question about good Java CSV libraries on SO)。

この難解なCSVモジュールが実際に存在するかどうかは確かに判断できません。ただし、既存のJavaライブラリをいつでも使用できます。

+2

なぜ[csv]は[Jython library documentation](http://www.jython.org/docs/library/csv.html)にリストされていますか?それはかなり混乱している! – mgiuca

+0

@mgiucaそれは奇妙です。なぜなら、それは1つの場所に文書化されていて、他の場所には書かれていないように思われるからです。私はJythonのソースでそれを見つけることができませんでした。だから、それが存在しないか、完全な作業命令ではないと仮定するのは安全だと思います。しかし、間違っている可能性があります。 –

+0

ありがとう、私はOpenCSVを見に行きます。 – tranen

1

csvがJython 2.5.3で実装されているようです。私はPython Module of the Weekの例を試してみました。

+0

も2.5.2で動作します。http://mvnrepository.com/artifact/org.python/jython-standalone/2.5.2 –

関連する問題