009-Go 读取写入CSV文件

package main

import(
	"encoding/csv"
	"fmt"
	"os"
	"strconv"
)

type Post struct{
	Id	int
	Content	string
	Author	string
}

func main(){
	csvFile, err := os.Create("posts.csv")
	if err!= nil{
		panic(err)
	}
	defer csvFile.Close()

	posts := []Post{
		Post{Id:100,Content:"Hello go",Author:"张三"},
		Post{Id:200,Content:"Hello java",Author:"李四"},
		Post{Id:300,Content:"Hello php",Author:"王五"},
	}

	writer := csv.NewWriter(csvFile)
	for _,post := range posts{
		line := []string{strconv.Itoa(post.Id), post.Content, post.Author}
		err := writer.Write(line)
		if err != nil{
			panic(err)
		}
	}
	writer.Flush()

	file,err := os.Open("posts.csv")
	if err != nil{
		panic(err)
	}
	defer file.Close()

	reader := csv.NewReader(file)
	reader.FieldsPerRecord = -1
	record, err := reader.ReadAll()
	if err != nil{
		panic(err)
	}

	var myposts []Post
	for _, item := range record{
		id, _ := strconv.ParseInt(item[0], 0, 0)
		post := Post{Id: int(id), Content:item[1], Author:item[2]}
		myposts = append(myposts, post)
	}

	for _, value := range myposts{
		fmt.Printf("Id:%d,Content:%s,Author:%s\n", value.Id, value.Content, value.Author)
	}

}

  

原文地址:https://www.cnblogs.com/yshyee/p/9130989.html

时间: 2024-11-02 11:34:51

009-Go 读取写入CSV文件的相关文章

CSVFileUtil 读取写入CSV文件简单工具类

参考github大神源码 总结一下最简单的工具类记录一下 /** * @description CSV文件读取和输出 工具类.<br/> * @author michael * @date 2019/05/16 * @version Copyright (c) 2019, [email protected] All Rights Reserved. */ public class CSVFileUtil { private static final Logger LOGGER = Logger

python读取并写入csv文件

新建csvData.csv文件 1 import csv 2 3 # 读取csv文件方式1 4 csvFile = open("csvData.csv", "r") 5 reader = csv.reader(csvFile) # 返回的是迭代类型 6 data = [] 7 for item in reader: 8 print(item) 9 data.append(item) 10 11 print(data) 12 csvFile.close() 13 14

python之读取和写入csv文件

写入csv文件源码: 1 #输出数据写入CSV文件 2 import csv 3 data = [ 4 ("Mike", "male", 24), 5 ("Lee", "male", 26), 6 ("Joy", "female", 22) 7 ] 8 9 #Python3.4以后的新方式,解决空行问题 10 with open('d://write.csv', 'w', newline

Jsoup学习笔记9:Jsoup 解析saz文件,读取其中的htm文件到字符串,提取字符串中的数据写入csv文件中

本篇笔记将上篇笔记的操作做些改进,不再把saz文件中的htm文件解析出来,而是不解压直接读取其中的数据成字符串,基本思路如下: 1.自定义一个从文本文件读取内容到字符串的类:解析saz文件中的htm文档,将文件的内容读取到字符串中 2.自定义利用Jsoup解析htm字符串的类:利用Jsoup解析传入的htm字符串,将解析结果写入csv文件中 3.解析时,指定好文件路径,直接调用上面的两个工具类即可 示例代码如下: package com.daxiang.saztest; /** * 自定义一个从

python读取和写入csv文件

----------------python读取csv文件------------------ #导入csv 创建一个csv文件,输入内容 import csv #1.找到需要被打开的文件路径,通过open打开文件,声明打开的方式,声明编码格式 csv_file=open(r'csv文件路径', mode='r', encoding='utf-8') #2.通过csv模组提供的读取方法来读取打开的文件 csv_data=csv.reader(csv_file) #3.通过for循环遍历读取数据存

练习:读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中.

/** *    读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中. *    1, 土鳖, 13101015338, 北京海淀区 2, 咪咪, 13201015338, 北京朝阳区 3, 小仓, 13601015818, 北京宣武区 4, 饭岛爱, 13201025818, 北京朝阳区 /** * 读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中. * 1, 土鳖, 13101015338, 北京海淀区 2, 咪咪, 13201015

python写入csv文件中文乱码解决方案

今天修改程序,需要写入csv文件,发现中文会乱码,后来查了下,可以设置文件写入属性后,就可以解决: import csvimport codecslist=['a101','b101']sumlist=[]for str in list: templist=[] templist.append('a') templist.append('b') templist.append('c') sumlist.append(templist)csvfile = file('csv_test.csv',

写入.csv文件

#include "stdafx.h" #include "WriteCsv.h" CString m_strData;//写入记录的一条数据 CString strTempData;//临时的记录数据 double dData1 = 1.1, dData2 = 2.2, dData3 = 3.3, dData4 = 4.4; strTempData.Format("%3.3f,%3.3f,%3.3f", dData1, dData2, dDat

spl处理文件(文件详细信息、文件遍历、查询指定行、写入CSV文件)

<?php /** * 文件操作 */ //常用操作 $file = new SplFileInfo('D:/workspace/xlyy/spl/test.txt'); $file_info = array( 'getATime' => $file->getATime(), //最后访问时间 'getBasename' => $file->getBasename(), //获取文件名 'getCTime' => $file->getCTime(), //获取in