Create a CSV file | Groovy Examples

Create a CSV file | Groovy Examples

Create a CSV file

For this example, let’s assume we have an array of maps as our data.

def planets = [
    [id:'1',color:'red',planet:'mars',description:'Mars, the "red" planet'],
    [id:'2',color:'green',planet:'neptune',description:'Neptune, the "green" planet'],
    [id:'3',color:'blue',planet:'earth',description:'Earth, the "blue" planet'],
]

Next, we can create our CSV file as follows:

def out = new File('planets.csv')
planets.each {
    def row = [it.id, it.color, it.planet]
    out.append row.join(',')
    out.append '\n'
}

Which creates a file with the following content:

1,red,mars
2,green,neptune
3,blue,earth

However, this does not contain our description field. If you need to also handle double quotes and commas in your data then you can:

  1. qualify your values with a double quote, and
  2. replace double quotes in your data with an escaped double quote.

In this case our code may look like:

def out = new File('planets.csv')
planets.each {
    def row = [it.id, it.color, it.planet, it.description]
                        .collect { '"' + it.replace('"','""') + '"' }
    out.append row.join(',')
    out.append '\n'
}

Which creates a file with the following content:

"1","red","mars","Mars, the ""red"" planet"
"2","green","neptune","Neptune, the ""blue"" planet"
"3","blue","earth","Earth, the ""blue"" plan
posted on 2012-06-21 20:50  lexus 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lexus/archive/2012/06/21/2558222.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值