2011-02-01 202 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文件已創建,但爲空。

事實上,問題comse從writeAll

如果我把writeNext,只有一行出現在CSV文件(這是正常的),但與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庫文檔](http://www.jython.org/docs/library/csv.html)中?這很混亂! – mgiuca 2011-02-01 03:30:33

+0

@mgiuca這很奇怪,因爲它好像是在一個地方記錄的,而不是其他的。我在Jython源代碼中找不到任何類似的內容,所以我認爲可以安全地假設它不存在或者處於完美的工作狀態。可能是錯誤的。 – 2011-02-01 03:36:09