阅读 70

Create a CSV file

Create a CSV file | Groovy Examples

Create a CSV file

June 21st, 2010
5 Comments

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"" planet"


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐