WPS、Excel、LibreOffice里的CSV

2024-01-04 03:32
文章标签 excel csv wps libreoffice

本文主要是介绍WPS、Excel、LibreOffice里的CSV,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3个软件另存为CSV,对于本身单元格包含英文逗号和双引号的处理方式是相同的,即,字段包含英文逗号,就用英文双引号包围该字段值,而字段值里面的英文双引号,用两个英文双引号,即英文双引号既用于包围又用于转义。

例如  前单元  

A",\d“B,"C

后单元格

",母猪/咽拭子监测

另存为后为  "A"",\d“B,""C",""",母猪/咽拭子监测"

PHP  fgetcsv 函数:默认转义符是反斜杠 \

fgetcsv(
    resource $handle,
    int $length = 0,
    string $delimiter = ',',
    string $enclosure = '"',
    string $escape = '\\'
): array

另外,LibreOffice本身能支持的列数相对于前两者比较少,反正我的文件LibreOffice打开直接提示列数太多。

golang 读取 Excel 可以使用  国人xuri 的 excelize 包    (作者貌似奇安信的,感觉我们学校的奇安信vpn比较烂,不过这不影响这个包很OK,哈哈)

把 Excel 读入输出成原始 csv 的程序 (excelize 自带的直接读出会把日期化成计算后的值,我需要原始整数):用法 readxlsx   path/to/xlsxFile.xlsx   [maxRows]    >   data.csv

package mainimport ("fmt""os""strconv""strings""github.com/xuri/excelize/v2"
)func main() {f, err := excelize.OpenFile(os.Args[1])if err != nil {fmt.Println(err)return}//defer f.Close()               // 似乎没有这个函数,前者打开文件最后返回文件结构体指针cntRows := 1000000if len(os.Args) >= 3 {cntRows, err = strconv.Atoi(os.Args[2])if err != nil {fmt.Println(err)return}}firstSheetName := f.GetSheetList()[0]rows, err := f.GetRows(firstSheetName)if err != nil {fmt.Println(err)return}for _, row := range rows {flag := falsefor _, colCell := range row {if findComma := strings.Contains(colCell, ","); findComma { // 单元格有英文逗号if findDoubleQuote := strings.Contains(colCell, "\""); findDoubleQuote { // 单元格有英文双引号colCell = strings.Replace(colCell, "\"", "\"\"", -1)}colCell = "\"" + colCell + "\""}if findNewLine := strings.Contains(colCell, "\n"); findNewLine { // 单元格有换行符colCell = strings.Replace(colCell, "\n", "<br>", -1)}if flag {fmt.Print(",", colCell)} else {fmt.Print(colCell)flag = true}}fmt.Println()cntRows--if cntRows <= 0 {break}}return
}

这篇关于WPS、Excel、LibreOffice里的CSV的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/568029

相关文章

C#关闭指定时间段的Excel进程的方法

private DateTime beforeTime;            //Excel启动之前时间          private DateTime afterTime;               //Excel启动之后时间          //举例          beforeTime = DateTime.Now;          Excel.Applicat

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是老手,这一技巧都将是你的得力助手,让你在信息的海洋中畅游无阻。 方法一:使用同声传译王软件 同声传译王是一款专业的翻译软件,它支持多种语言翻译,可以excel

终于解决了excel操作及cspreadsheet.h问题

困扰多日的excel操作问题终于解决:利用cspreadsheet.h!在vs2005下,不能直接应用cspreadsheet.h,所以必须解决些问题先。 首先, 出现暴多错误。解决UNICODE问题,全部添加L。 [1] +++++++++++++++++++ 其次, 出现问题: error   C2664:   &apos;SQLGetInstalledDriversW &apos;

关于使用cspreadsheet读写EXCEL表格数据的问题

前几天项目有读写EXCEL表格的需求,我就找了大概有几种,大致分为:COM方法、ODBC方法、OLE方法、纯底层格式分析方法。由于COM方法要求必须安装有OFFICE的EXCEL组件,纯底层格式分析方法又很多功能需要自行去完善,所有最终选择了数据库的方法,用数据库的方法去存取xls格式的数据。网上有一个高手写的CSpreedSheet,看了一下提供的接口,感觉挺好用的。在使用的过程中发现几个

Excel和Word日常使用记录:

Excel使用总结 表格颜色填充: 合并单元格: 选中你要合并的单元格区域。按下快捷键 Alt + H,然后松开这些键。再按下 M,接着按 C。这个组合键执行的操作是:Alt + H:打开“主页”选项卡。M:选择“合并单元格”选项。C:执行“合并并居中”操作。 插入行: 在Excel中,插入一行的快捷键是:Windows:选择整行(可以点击行号)。按下 Ctrl + Sh

anaconda3下的python编程练习-csv翻译器

相关理解和命令 一、环境配置1、conda命令2、pip命令3、python命令 二、开发思路三、开发步骤 一、环境配置 1、conda命令 镜像源配置 conda config --show channels //查看镜像源conda config --remove-key channels //删除添加源,恢复默认源#添加镜像源conda config --ad

SpringBoot中利用EasyExcel+aop实现一个通用Excel导出功能

一、结果展示 主要功能:可以根据前端传递的参数,导出指定列、指定行 1.1 案例一 前端页面 传递参数 {"excelName": "导出用户信息1725738666946","sheetName": "导出用户信息","fieldList": [{"fieldName": "userId","fieldDesc": "用户id"},{"fieldName": "age","fieldDe

一种快速生成CSV的方法

事情是这个样子的 在QQ群在聊把如何100万数据导出成CSV文件?会不会很慢? 俺回了一句“现在的机器性能好,没啥问题”。 然后大家开始谈论机器的配置了。哎,俺的机器配置有点差。 然后俺就进行了一个测试。 测试数据 数据定义         public struct Rec         {             public int v1;             publi

如何在Excel中根据单元格内容作MSnbsp;…

上篇文章,我们介绍了INDEX+SMALL+IF+ROW的数组公式组合,也就是说只要在IF中通过条件的构造,基本上就可以想提取什么条件的数据都可以,数据查询肯定得心应手。 但是,我们一起强调函数公式不是万能的,尤其是数组公式在海量数据面前,既是软肋也是硬伤,而且构造这个函数组合还需要你要具备或者能理解简单数组公式逻辑,对于在函数公式方面没有深究的人,自然是一头雾水。当然,就像“数据透视表”一样,

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(4)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)-CSDN博客  这节就是真正的存储数据了   理清一下思路: 1.存储路径并检查 //2进制文件类存储private static string Data_Binary_Pa