2011-02-01 4 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-файле будет отображаться только одна строка (это нормально), но с 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

+0

@mgiuca, это странно, потому что похоже, что он задокументирован в одном месте, а не в другом. Я не мог найти ничего подобного в источнике 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 –

Смежные вопросы