广告
返回顶部
首页 > 资讯 > 后端开发 > GO >如何在golang中格式化txt?
  • 809
分享到

如何在golang中格式化txt?

2024-04-05 00:04:21 809人浏览 独家记忆
摘要

知识点掌握了,还需要不断练习才能熟练运用。下面编程网给大家带来一个golang开发实战,手把手教大家学习《如何在Golang中格式化txt?》,在实现功能的过程中也带大家重新温习相关知识点,温故而知

知识点掌握了,还需要不断练习才能熟练运用。下面编程网给大家带来一个golang开发实战,手把手教大家学习《如何在Golang中格式化txt?》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

我有一个动态的 JSON,我将其转换为 txt:json 示例:

{name: luis, last name: gomez, id_number: 87846516}

我转换它的代码如下:

file, _: = json.marshalindent (string (jsondata), "", "")

    data: = ioutil.writefile ("test.txt", file, 0644)

我成功地将其转换为txt,但我需要给它一个特定的格式,其中只显示值,不带标签,并按如下方式分隔:

luis | gomez | 87846516

格式我不知道如何给出。


正确答案


您似乎正在从数据库获取数据,然后将其保存到文本文件中。最好的方法是从数据库获取数据,然后简单地循环遍历每一行。目前还不清楚为什么要提出转换 json 数据(如果可以从数据库获取)的问题。不要将其转换为 json,而是直接将值写入文件。

您可以打开一个文件,以便附加每个条目,然后在文件处理完毕后关闭。我提供了一个示例文件,无论返回的行数(我假设这将是数据库中每一行的新行)或列数如何,它都会为您提供所需的输出。

以下代码经过测试并打印:luis |戈麦斯 | 87846516

os.append 每次写入时都会追加一个新行。因此,如果多次运行此代码,它不会覆盖它,而是添加到文件中。

package main

import (
    "database/sql"
    "fmt"
    "log"
    "os"
    "strings"

    _ "GitHub.com/go-sql-driver/Mysql"
)

type dbdao struct {
    db *sql.db
}

var db dbdao

func (d *dbdao) init(connstr string) error {

    db, err := sql.open("mysql", connstr)
    if err != nil {
        return err
    }
    err = db.ping()
    if err != nil {
        return err
    }
    d.db = db
    return nil
}

func main() {

    dblogin := os.getenv("dblogin")
    dbstring := fmt.sprintf("root:%s@/testdb", dblogin)
    err := db.init(dbstring)
    if err != nil {
        log.fatal("failed to create db connection:", err.error())
    }

    f, err := os.openfile("text.txt", os.o_rdwr|os.o_create|os.o_append, 0644)
    if err != nil {
        log.fatalf("error: error opening file: %v", err)
    }
  defer f.close()

    querytext := "select * from stackoverflow"
    rows, err := db.db.query(querytext)
    if err != nil {
        log.fatal(err)
    }

    columns, err := rows.columns()
    if err != nil {
        log.fatal(err)
    }

    count := len(columns)
    values := make([]interface{}, count)
    scanargs := make([]interface{}, count)
    for i := range values {
        scanargs[i] = &values[i]
    }

    for rows.next() {
        err := rows.scan(scanargs...)
        if err != nil {
            log.fatal(err)
        }

        concat := make([]string, 0)
        for i, _ := range columns {
            v := values[i]

            b, ok := v.([]byte)
            if ok {
                concat = append(concat, string(b))
            } else {
                concat = append(concat, fmt.sprintf("%v", v))
            }
        }
        line := strings.join(concat, " | ")
        fmt.println(line)
        _, err = f.write([]byte(fmt.sprintf("%s\n", line)))
        if err != nil {
            log.fatal(err)
        }

    }

    return
}

首先创建名为 person 的结构体对象,然后定义一个 string 函数来执行您想要的操作

package main

import (
    "encoding/json"
    "strconv"
)

type person struct {
    name     string `json:"name"`
    lastname string `json:"last_name"`
    idnumber int    `json:"id_number"`
}

// convert to csv separated by " | "
func (p person) string() string {
    return p.name + " | " + p.lastname + " | " + strconv.itoa(p.idnumber)
}

func main() {

    // json data
    jsondata := map[string]interface{}{
        "name":      "luis",
        "last_name": "gomez",
        "id_number": 87846516,
    }

    person := person{}
    jsondatabyte, _ := json.marshal(jsondata)
    json.unmarshal(jsondatabyte, &person)

    // print person
    println(person.string())
}

答案是:

luis | gomez | 87846516

以上就是《如何在golang中格式化txt?》的详细内容,更多关于的资料请关注编程网公众号!

您可能感兴趣的文档:

--结束END--

本文标题: 如何在golang中格式化txt?

本文链接: https://www.lsjlt.com/news/596876.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php如何转化TXT格式
    今天小编给大家分享一下php如何转化TXT格式的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。准备工作在开始之前,您需要确保您...
    99+
    2023-07-06
  • html格式如何转换为txt格式
    这篇文章将为大家详细讲解有关html格式如何转换为txt格式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适合初学前端...
    99+
    2023-06-14
  • Python如何实现xml格式转txt格式
    本篇内容介绍了“Python如何实现xml格式转txt格式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、前言最近学习Yolo v5是遇见...
    99+
    2023-06-29
  • golang中的时间格式化
    目录golang时间格式化科普 CST 含义GMT 和 UTC 的关系golang 格式化时间 yyyy-MM-dd固定值由来总结golang时间格式化 科普 CST 含义 CST:...
    99+
    2023-02-16
    golang时间格式化 golang格式化 go格式化时间
  • Linux中如何将txt文件转为png格式
    目录linux将txt文件转为png格式如果文本中没有中文,使用enscript如果文本包含中文,使用paps解决方法Linux下PNG、JEPG、JPG、Webp图片格式互转环境webp使用说明批量转换总结Linux将...
    99+
    2023-06-17
    Linux中txt文件 txt文件转为png格式 Linux中png格式
  • 如何在VBS中格式化日期
    如何在VBS中格式化日期?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。核心代码currentTimeStr1 = CStr(Year(Now...
    99+
    2023-06-08
  • 如何在Linux中格式化输出 JSON
    这篇文章将为大家详细讲解有关如何在Linux中格式化输出 JSON,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 JSON 是一种轻量级且与语言无关的数据存储格式,易于与大多数编程...
    99+
    2023-06-09
  • 在php中如何将数组格式化
    在PHP语言中,数组是一个非常重要的数据结构,用于存储和操作大量的数据。对于数组数据,经常需要将其格式化成某种特定的形式,以便显示或者传输。本文将介绍在PHP中将数组格式化的方法。一、将数组转换为JSON格式JSON是一种轻量级的数据交换格...
    99+
    2023-05-19
  • 如何在Python中格式化字符串
    这篇文章将为大家详细讲解有关如何在Python中格式化字符串,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;...
    99+
    2023-06-14
  • 深入了解Golang中的格式化输出
    目录fmt格式化整数格式化浮点数格式化布尔类型格式化字符格式化字符串格式化指针格式化通用占位符宽度表示fmt Go语言用于控制文本输出常用的标准库是fmt fmt中主要用于输出的函数...
    99+
    2022-11-21
    Golang格式化输出 Golang格式化
  • golang如何处理JSON格式
    这篇文章主要讲解了“golang如何处理JSON格式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang如何处理JSON格式”吧!首先,我们需要了解一些Golang中有关JSON的基础...
    99+
    2023-07-05
  • 如何利用Python打开txt格式的文件
    目录一、Pythont如何打开 txt 格式的文件?二、什么是相对路径,什么是绝对路径?三、如何进行逐行提取数据?四、创建一个包含文件各行内容的列表总结一、Pythont如何打开 t...
    99+
    2022-11-12
  • 日期格式化的最佳实践:如何在Java中处理日期格式化
    文章目录 前言一、使用format()方法二、使用注解@JsonFormat三、使用消息转换器1.定义用户类2.重写DateSerializer 方法3.定义对象映射器:4.定义消息转换器5....
    99+
    2023-09-17
    java 开发语言
  • golang中如何将数据转为json格式
    本文小编为大家详细介绍“golang中如何将数据转为json格式”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang中如何将数据转为json格式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。使用 Gola...
    99+
    2023-07-05
  • 怎么在python中格式化time.strptime
    本篇文章给大家分享的是有关怎么在python中格式化time.strptime,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python的优点有哪些1、简单易用,与C/C++、...
    99+
    2023-06-14
  • 如何在Linux下格式化USB设备
    如何在Linux下格式化USB设备,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。有时,您的U盘设备有可能会出现一系列的问题或者使用不当造成损坏,遇到这种情况通常...
    99+
    2023-06-28
  • VB.NET如何格式化
    小编给大家分享一下VB.NET如何格式化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对代码进行VB.NET格式化时,要达到的目的包括:1) 通过代码分割成功能块...
    99+
    2023-06-17
  • javascript如何格式化
    这篇文章给大家分享的是有关javascript如何格式化的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 javascript格式化的方法:1、在Chr...
    99+
    2022-10-19
  • python中如何格式化输出
    这篇文章将为大家详细讲解有关python中如何格式化输出,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言:有几种方法可以显示程序的输出。 数据可以以人类可读的形式打印,或写入文件以供将来使用,甚至可以以...
    99+
    2023-06-29
  • ubuntu中如何格式化硬盘
    今天小编给大家分享一下ubuntu中如何格式化硬盘的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。ubuntu格式化硬盘的方法...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作