【go】数据表转csv

news2024/12/24 2:31:05

文章目录

  • 1 基本结构
    • 1.1 数据
    • 1.2 数据结构
  • 2 代码
  • 3 tip

1 基本结构

1.1 数据

在这里插入图片描述

1.2 数据结构

在这里插入图片描述

2 代码

  • 代码:
package main

import (
	"database/sql"
	"encoding/csv"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
	"log"
	"os"
)

type PersonList struct {
	Id   int    `json:"id"`
	Name string `json:"name"`
	Age  int    `json:"age"`
	Sex  int    `json:"sex"`
}

func main() {
	// 连接数据库
	db, err := sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/test")
	if err != nil {
		log.Fatal("err1:", err)
	}
	defer db.Close()

	// 查询
	rows, err := db.Query("SELECT * FROM person")
	if err != nil {
		log.Fatal("err2:", err)
	}
	defer rows.Close()

	// 新建csv
	file, err := os.Create("person.csv")
	if err != nil {
		log.Fatal("err3:", err)
	}
	defer file.Close()

	writer := csv.NewWriter(file)
	defer writer.Flush()

	// 写表头
	header := []string{
		"id",
		"name",
		"age",
		"sex",
	}
	writer.Write(header)

	// 遍历,写入csv
	for rows.Next() {
		var personlist = PersonList{}
		// 绑定
		err = rows.Scan(
			&personlist.Id,
			&personlist.Name,
			&personlist.Age,
			&personlist.Sex,
		)
		if err != nil {
			log.Fatal("err3:", err)
		}

		row := []string{
			fmt.Sprintf("%d", personlist.Id),
			personlist.Name,
			fmt.Sprintf("%d", personlist.Age),
			fmt.Sprintf("%d", personlist.Sex),
		}
		writer.Write(row)
	}

	err = rows.Err()
	if err != nil {
		log.Fatal("err4:", err)
	}
}
  • 输出:
    在这里插入图片描述
  • 注意:rows.Scan绑定字段,数据库中字段顺序应与绑定顺序相同

3 tip

python实现数据表转csv:https://blog.csdn.net/qq_45859826/article/details/131451336

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/702215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

element ui table某个单元格添加点击事件

1.创建表格 <el-table ref"multipleTable" :data"tableData" border > <el-table-column fixed type"selection" align"center"></el-table-column> <div v-for"(item,index) in columns" :key"i…

在开源经历中成长,让开发者成为创新主体

本文背景 积极推进“满天星”行动计划&#xff0c;促进开发者成长&#xff0c;重庆软件园产业学院“成长营”将聚焦“技术提升”“职业成长”“价值提升”等话题开展系列主题活动&#xff0c;赋能软件技术开发者更好发展、更快成长。本次直播访谈&#xff0c;聚焦在开源经历中成…

车载 Android开发面试习题

随着车联网技术的不断发展和普及&#xff0c;越来越多的汽车厂商开始使用 Android 操作系统作为车载娱乐和信息娱乐系统的核心。在这个趋势下&#xff0c;车载 Android 应用开发程序员的需求也日益增加。 像一些车企大厂不惜给出 30K~60K的高资&#xff0c;去广招这方面的技术人…

为未来“点亮”想象空间:无镉量子点

量子点电视的诞生引发了行业内的色彩科技革命&#xff0c;量子点电视使用色彩纯净的量子点背光技术&#xff0c;能够最真实地还原图像色彩&#xff0c;是虚拟增强现实技术和智能可穿戴显示设备的理想之选。 量子点又可称为纳米晶&#xff0c;是一种由 II-VI 族或 III-V 族元素…

matlab绘制栅格地图

学习了一下栅格地图在matlib中的表示方法&#xff0c;其实和很多都是差不多的。 参考 清除命令 % clc&#xff1a;清除命令窗口的内容&#xff0c;对工作环境中的全部变量无任何影响 % close all:关闭所有的Figure窗口 % clear all&#xff1a;清除工作空间的所有变量&#xff…

zookeeper之znode节点与acl权限设置

zookeeper之znode节点与acl权限设置 zookeeperznode节点节点类型节点属性节点监听 客户端命令行查看所有命令命令说明 acl权限设置scheme认证模型permission权限位acl相关命令ACL使用示例 客户端工具ZooInspectorPrettyZoo zookeeper ZooKeeper是Apache软件基金会的一个软件项目…

chatgpt赋能python:量化金融中的Python模型

量化金融中的Python模型 随着互联网的发展&#xff0c;金融行业也在不断地发生变化。量化金融是近年来崛起的一种新兴方式&#xff0c;它将数学、计算机科学和统计学等领域的理论和方法应用于金融领域中&#xff0c;以期望实现比传统投资更高的效益。其中&#xff0c;Python是…

计算机网络那些事之 MTU 篇 pt.2

哈喽大家好&#xff0c;我是咸鱼 在《计算机网络那些事之 MTU 篇 》中&#xff0c;咸鱼跟大家介绍了 MTU 是指数据链路层能够传输的最大数据帧的大小 如果发送的数据大于 MTU&#xff0c;则就会进行分片操作&#xff08;Fragment&#xff09;&#xff1b;如果小于 MTU&#x…

$.each用法

看到$ 自然可以想到这是JQ的一个方法JQ each可以当成是数组的forEach 具体用法&#xff1a;需要注意函数第一项是索引&#xff0c;第二项才是具体的值

React Hooks的讲解与教程

什么是React Hooks React Hooks 是 React 16.8 新增的一种特性&#xff0c;它可以让你在函数式组件中使用 state、生命周期、context 等 React 特性。Hooks 可以让你将复杂的逻辑拆分成多个独立可重用的函数&#xff0c;并且使得这些函数更加易于理解和测试。 Class组件存在的问…

Java的模块(module)

简单介绍 Java的模块&#xff08;module&#xff09;是Java SE 9支持的组件。一个模块可以包含多个包。通过模块系统&#xff0c;更加容易开发和维护大型的系统。引入模块的目标&#xff1a; 提供一种可靠的配置机制。用模块机制替换脆弱的、容易出错的类路径配置机制。模块作…

物化视图功能验证

物化视图(Materialized View)和视图(View)类似&#xff0c;也是一个视图名字对应一个SQL查询查询语句。不同之处在于&#xff1a;物化视图定义时使用了额外的关键字materialized&#xff0c; 它把结果集保存在起来&#xff0c;查询的时候直接读取保存的结果集&#xff0c;而不必…

力扣单调栈专题 739. 每日温度 496.下一个更大元素I 503.下一个更大元素II 42. 接雨水 84.柱状图中最大的矩形 步骤及C++实现 总结

文章目录 739. 每日温度496.下一个更大元素 I503.下一个更大元素II方法一 数组拼接方法二 模拟遍历两边nums 42. 接雨水双指针 暴力法双指针优化单调栈 84.柱状图中最大的矩形暴力解法双指针解法单调栈 总结 739. 每日温度 暴力解法&#xff0c;双层for循环&#xff0c;时间复杂…

「完美解决」concrt140.dll丢失怎么恢复(解决方案)

我们平时在打开 Adobe 应用程序、Halo、Forza Horizon 5 等时&#xff0c;可能会遇到找不到 concrt140.dll。因此&#xff0c;这不是特定于某个应用程序的问题。如果没有安装正确的 DLL&#xff0c;应用程序将无法正常工作&#xff0c;因为它们的代码依赖于这些库中编写的代码。…

C++入门笔记--【精简完备】【快速入手】

目录 ​​​​​​​1 C初识 1.1 第一个C程序 1.1.1 创建项目 1.1.2 创建文件 1.1.3 编写代码 1.1.4 运行程序 1.2 注释 1.3 变量 1.4 常量 1.5 关键字 1.6 标识符命名规则 2 数据类型 2.1 整型 2.2 sizeof关键字 2.3 实型&#xff08;浮点型&#xff09; 2.4 字…

基于STM32单片机的大棚温度测控系统

目录 基于STM32单片机的大棚温度测控系统一、原理图二、部分代码三、视频演示 基于STM32单片机的大棚温度测控系统 功能&#xff1a; 1.通过LCD屏幕显示温湿度值和上限阈值 2.通过按键完成阈值加减功能 3.通过DHT11完成温湿度采集 4.若实时数据不满足条件&#xff0c;则进行降…

linux curl命令使用教程(curl指令)

文章目录 curl指令介绍curl的历史curl指令的安装Ubuntu/DebianCentOS/RHELFedoramacOSWindows curl使用方法示例使用curl命令注意事项 curl指令介绍 curl是一个用于发送HTTP请求的命令行工具&#xff0c;它支持多种协议&#xff0c;包括HTTP、HTTPS、FTP、SMTP等。curl可以用来…

人工智能:揭示未来科技所带来的革命性变革

目录 引言&#xff1a; 一、人工智能的定义与发展历程&#xff1a; 二、人工智能的应用领域&#xff1a; 三、人工智能对未来的影响&#xff1a; 结论&#xff1a; 引言&#xff1a; 在当今科技快速发展的时代&#xff0c;人工智能&#xff08;Artificial Intelligence&am…

开展全媒体营销的具体步骤和策略

随着移动互联网的发展和智能手机的普及&#xff0c;网络营销的主战场从PC端向移动端转移&#xff0c;新型的全媒体营销就是在如此的背景下兴起且被广泛应用。全媒体营销强调的是通过多个平台和渠道传播信息&#xff0c;与目标受众进行全方位、多角度的沟通。 企业如何高效开展全…