草庐IT

csv_reader

全部标签

go - Reader接口(interface)改变值

我有一个关于阅读器界面的问题,定义如下:typeReaderinterface{Read(p[]byte)(nint,errerror)}我有以下使用阅读器界面的代码:packagemainimport("fmt""os")//Readingfilesrequirescheckingmostcallsforerrors.//Thishelperwillstreamlineourerrorchecksbelow.funccheck(eerror){ife!=nil{panic(e)}}funcmain(){//You'lloftenwantmorecontroloverhowandwha

go - 如何反向读取CSV文件

我正在尝试反向读取CSV文件。我可以通过将CSV文件的行加载到slice中并反转slice来做到这一点,但这对于大文件大小来说是错误的方法。CSV阅读器返回一个游标,该游标不会将整个文件加载到内存中。但我找不到任何实现类似reverseCSVReader的东西。如何在不将整个文件反向加载到内存的情况下读取CSV文件? 最佳答案 HowtoreadtheCSVfilewithoutloadingthewholefileinmemoryinreverse?基本上没有。CSV不是一种具有固定记录大小的格式,因此您无法直接访问单独的行。您始

go - 如何用马提尼输出 CSV?

我想用martini将CSV数据打印到输出。目前,我一直使用r.JSON(200,somestruct)其中r是来自github.com/的render.Render马提尼贡献。现在我有一片结构,我想将它们打印为CSV(将单个结构的每个字段串化并在一行中打印一个结构)。目前,我是这样做的:r.Data(200,[]byte("id,Latitude,Longitude\n"))for_,packet:=rangetour.Packets{r.Data(200,[]byte(strconv.FormatInt(packet.Id,10)+","+strconv.FormatFloat(p

csv - 戈朗 : convert text dump to CSV

我有一个txt文件转储,其中包含以下行格式的数据:2015/01/01-01:00:00,{'a50':15.5,'a95':14.5,'a99':21.5}我想提取值并将其转换为以下格式的CSV:2015/01/01,15.5,14.5,21.5到目前为止,我可以读取文件并提取数据,我还可以使用正则表达式获取时间戳值(但我知道Go中的正则表达式非常慢),我避免做更多的正则表达式来提取剩余的值。有什么指点吗? 最佳答案 如果时间允许,我可能会根据需要使用代码示例跟进此问题,但这里是我将如何处理该问题的基本纲要。1)创建一个类似下面的

已有字节缓冲区 slice 时的 Golang Reader 接口(interface)实现

我正在尝试为将文件[]byte上传到云端并从云端下载文件[]byte的程序实现读写方法。到目前为止,我的读取方法卡在一个无限读取循环中,只读取相同的32KiB。我正在使用我打开的文件作为输入以满足io.Copy。我确定我的实现不知何故很乱func(sS3File)Read(buffer[]byte)(int,error){ifs.mode!="rb"{fmt.Println("Wrongmodeused")}buf,err:=s.DownBufferInfo(s.path)iferr!=nil{fmt.Println("Errorfromgettingbufferforreader.a

csv - 如何在 Golang 中解码 UTF-16BE CSV 文件

我正在尝试在Golang中解码以UTF-16BE编码的CSV文件。我必须为新阅读器调用的charmapISO字符号是多少?我要调用csv.NewReader(charmap.XXXX.NewDecoder().Reader(file))XXXX的值应该是多少? 最佳答案 你试过吗?https://godoc.org/golang.org/x/text/encoding/unicode#UTF16unicode.UTF16(BigEndian,UseBOM) 关于csv-如何在Golang

go - 从 io.Reader 在 golang 中解码 json 中的枚举

我在json中有一个字段是abc或def我想确保当我解码数据时它会检查该字段是否只包含其中一个2个有效值,有没有办法在golang中做到这一点而无需临时检查?我知道如果我有字节中的json,我可以做到这一点const(Enum1="abc"Enum1="def")func(s*MyJsonStruct)UnmarshalJSON(data[]byte)error{typeAuxMyJsonStruct;vara*Aux=(*Aux)(s);err:=json.Unmarshal(data,&a)iferr!=nil{returnerr}ifs.Key!=Enum1&&s.Key!=En

file - Go connection.Writer 和 reader 行为不正常,在一次读取操作中读取 2 写入

我正在尝试从客户端读取文件,然后将其发送到服务器。它是这样的,你输入send在客户端程序中,然后是将被发送到服务器。服务器通过TCP连接从客户端读取2个东西,首先是命令send其次是文件的内容。但是,有时我的程序会随机包含中的文件内容。字符串。例如,假设我有一个名为xyz.txt的文本文件,其内容是“Hellowworld”。服务器有时会收到sendxyz.txtHellowworld.有时它不会,但它工作得很好。我认为这是同步或不刷新读写器缓冲区的问题。但我不太确定。提前致谢!客户端代码:funcsendFileToServer(fileNamestring,connectionne

csv - 将多行字符串写入 CSV 文件

如何使用encoding/csv包将多行值写入CSV文件?fh,err:=os.Create(fileName)iferr!=nil{log.Fatalf("Couldnotcreatefile:%v",err)}deferfh.Close()w:=csv.NewWriter(fh)normalValue:="Iamasinglelinevalue"multiValue:=[]string{"Iama","multilinevalue"}w.Write([]string{normalValue,multiValue})我希望在生成的CSV文件中得到的结果:Iamasinglelinev

go - 如何将数据从 CSV 导入到 MySQL

我有CSVxgb并想插入到mysql中,我会为此使用Go,但我没有找到正确的方法,有人这样做过吗?我的项目:https://github.com/DevJoseWeb/AMCOM/tree/master/amcom-systems-go 最佳答案 无论使用哪种语言,都有两种基本方法。第一种是自己读取和解析CSV文件并一次插入一行。这是低效的。另一种是使用MySQL的loaddatalocalinfile将CSV文件加载到表中,让MySQL完成所有工作。local部分意味着您将向MySQL发送CSV文件。与其他SQL语句不同,这需要特