Nasıl gradlarda groovy .csv dosya okuyun ve alın. Verilerle birlikte .csv dosyası ve
kullanıcı arayüzünü kullanarak db'ye içe aktarım yapmam gerekiyor.Groovy yükleme .csv dosyaları
cevap
Groovy'de CSV dosyalarıyla çalışmak için her zaman farklı olasılıklar vardır.
Groovy, Java ile tam olarak birlikte çalışabilir olduğundan, mevcut CSV libararies'lerinden birini kullanabilirsiniz. OpenCSV.
CSV karmaşıklığına bağlı olarak da Groovy standart dosya/string işleme olanaklarını kullanabilir, kullandığınız dosya:
def sql = Sql.newInstance("jdbc:mysql://localhost:3306/mydb",
"user", "pswd", "com.mysql.jdbc.Driver")
def people = sql.dataSet("PERSON")
new File("users.csv").splitEachLine(",") {fields ->
people.add(
first_name: fields[0],
last_name: fields[1],
email: fields[2]
)
}
DÜZENLEME: Kelly Robinson hemen güzel blog post yazdı Groovy'de CSV dosyaları ile çalışmak için mevcut farklı olasılıklar.
DÜZENLEME # 2: onun GroovyCVS kütüphanenin Leonard Axelsson'un olarak recently released version 1.0, ben kesinlikle seçenekler listesine ekleyin gerektiğini düşündüm. Apache Commons-CSV ile
:
@Grab ('org.apache.commons: commons-csv: 1.2') ithalat org.apache.commons.csv.CSVParser ithalat statik org.apache.commons.csv. CSVFormat. *
@Grab('org.apache.commons:commons-csv:1.2')
import org.apache.commons.csv.CSVParser
import static org.apache.commons.csv.CSVFormat.*
import java.nio.file.Paths
Paths.get('countryInfo.txt').withReader { reader ->
CSVParser csv = new CSVParser(reader, DEFAULT.withHeader())
for (record in csv.iterator()) {
println record.dump()
}
}
Commons-CSV'nin iyi bir API'si var ve bunu öneririm. GroovyCSV ile
:
@Grab('com.xlson.groovycsv:groovycsv:0.2')
import com.xlson.groovycsv.CsvParser
def csv = '''Name,Lastname
Mark,Andersson
Pete,Hansen'''
def data = new CsvParser().parse(csv)
for(line in data) {
println "$line.Name $line.Lastname"
}
('s numunelerden alınan)
Son çare: Düzenli ifade.
İşte might contain a quoted escaped string in it's fourth column bir dosyayı çözümlenen nasıl: Kullanılması
File detailedStatsFile = new File("stats.csv");
detailedStatsFile.eachLine { line, number ->
// Number Of Executions, Total Milliseconds, Milliseconds per execution, "Type"
def match = line =~ /([^,]*?),\s*([^,]*?),\s*([^,]*?),\s*(?:([^",]+)|(?:"((?:[^\\"]++(?:\\")?)++)"))$/; //"
if (!match.matches())
continue;
def numberOfExecs = Integer.valueOf(match.group(1));
def totalMillis = Integer.valueOf(match.group(2));
def detailedStatName = match.group(4);
if (detailedStatName == null)
detailedStatName = match.group(5).replaceAll('\\"','"');
İlk yöntem, 'groovy.lang.MissingMethodException ile başarısız: yöntem imzası yok: sun.nio.fs.UnixPath.withReader() argüman türleri için geçerlidir: (myscript $ _run_closure1) değerler: [myscript $ _run_closure1 @ 536f2a7e] ' –
xlson en GroovyCSV:
@Grab('com.xlson.groovycsv:groovycsv:1.1')
import static com.xlson.groovycsv.CsvParser.parseCsv
for(line in parseCsv(new FileReader('countries.csv'), separator: ';')) {
println "Country=$line.COUNTRY, Capital=$line.CAPITAL"
}
isimleri CSV dosyasının başlığında alınır alanı.
CSV dosyasının üstbilgisi yoksa, alan adlarını programsal olarak belirtebilirsiniz. (': Opencsv: com.opencsv 4,0')
@Grab opencsv kullanarak
Örnek ithalat com.opencsv.CSVReader ithalat com.opencsv.CSVWriter
class TestCsvReader {
static main(args) {
def csv = '''"a","b","c"
"d","e","f"
'''
def Reader csvFileReader = new StringReader(csv)
def Writer csvFileWriter = new PrintWriter(System.out)
def CSVReader reader = new CSVReader(csvFileReader)
def CSVWriter writer = new CSVWriter(csvFileWriter)
reader.iterator().each { fields ->
writer.writeNext(fields)
}
reader.close()
writer.close()
}
}
- 1. İthalat Çoklu CSV Dosyaları
- 2. mmap ve csv dosyaları
- 3. yükleme CSV javascript
- 4. csv dosyasını shinyApps.io'ya yükleme
- 5. FTP yükleme CSV dosyalarının içeriğini yüklemiyor
- 6. iphone yükleme csv içine UITable
- 7. Belirtilen sayıda CSV dosyasını yükleme sayısı R
- 8. Dosyaları Prolog'a yükleme
- 9. React.js'de CSV dosyaları nasıl yüklenir ve okunur?
- 10. WordPress eklentisinde CSV dosyasını işlevden karşıdan yükleme?
- 11. Yükleme .eml dosyaları içine javax.mail.Messages
- 12. Groovy
- 13. Groovy
- 14. Groovy
- 15. Groovy
- 16. Eclipse Çalışma zamanında java sınıflarına Groovy komut dosyaları derleme değil
- 17. Yeni Geliştirici konsolunda apk genişletme dosyaları yükleme
- 18. Yükleme sırasında .NET yapılandırma dosyaları nasıl değiştirilir?
- 19. Dosyaları ASP.NET MVC ile Veritabanına Karşıya Yükleme
- 20. RequireJS: çevreye göre farklı dosyaları yükleme
- 21. Tüm eklenen dosyaları Mercurial'da geri yükleme
- 22. Groovy (Dosya IO): Tüm dosyaları bulmak ve tüm dosyaları iade - bu kolay olmalıdır
- 23. Bir Java/Groovy API
- 24. Groovy Bağımlılık Enjeksiyon
- 25. Eclipse-Groovy eklentisi Groovy kütüphaneleri nasıl değiştirilir?
- 26. csv dosyaları ile yineleyin ve ggplot ile arsa R
- 27. Can çoklu sütun ile Python CSV modülü ayrıştırma dosyaları
- 28. İçindekilerle birlikte alıntı ve virgülle birlikte CSV dosyaları
- 29. R .csv dosyaları yazılırken çift tırnak işareti nasıl kontrol edilir
- 30. Python ve R'ye çok büyük CSV veri kümesi yükleme Pandalar,
Ben groovified yazdım GroovyCSV adlı OpenCSV etrafındaki sarıcı ve Groovy'de csv ile çalışmayı çok daha kolay ve idiomatik hale getiriyor. Http: // xlson adresinden ulaşılabilir.com/groovycsv/ – xlson