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

相关文章

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经

SpringBoot+EasyPOI轻松实现Excel和Word导出PDF

《SpringBoot+EasyPOI轻松实现Excel和Word导出PDF》在企业级开发中,将Excel和Word文档导出为PDF是常见需求,本文将结合​​EasyPOI和​​Aspose系列工具实... 目录一、环境准备与依赖配置1.1 方案选型1.2 依赖配置(商业库方案)二、Excel 导出 PDF

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定