2011-02-01 6 views
0

데이터가있는 로그 파일이 있습니다.CSV 파일 만들기

이 파일을 CSV (Excel) 파일로 변환하고 싶습니다.

이클립스를 사용하고 자이 썬에서 쓰기 (모든 최신 버전)하지만 난 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 파일에 한 줄만 표시되지만 (보통), 파일은 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

자이 썬은 csv 모듈 (는하지만, 그것은 어떤 장소에서 이상한 문서화 것)이하지 않는 것 :

이 내 프로그램입니다. 대신, 자바 라이브러리를 사용하여 동일한 작업을 수행해야합니다. 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

+0

@mgiuca 이상한데, 한 곳에서 문서화되어 있고 다른 곳에서는 문서화되지 않은 것처럼 보입니다. 자이 썬 소스에서 이와 비슷한 것을 찾을 수 없었기 때문에 존재하지도 않거나 완벽하게 작동하지 않는다고 가정하는 것이 안전하다고 생각합니다. 그래도 틀릴 수 있습니다. –

+0

감사합니다. OpenCSV를 살펴 보겠습니다. – tranen

1

csv가 자이 썬 2.5.3에서 구현 된 것처럼 보입니다. 나는 Python Module of the Week에서 예제를 시도하고 그들은 작동합니다.

+0

은 2.5.2 http://mvnrepository.com/artifact/org.python/jython-standalone/2.5.2에서도 작동합니다. –