common-csv中文处理的问题

本文介绍了在处理CSV文件时,特别是使用Common-Csv库遇到的中文处理问题。当CSV行首出现中文时,该值会被双引号包围。通过代码复盘和问题定位,发现在特定方法中对中文的误判是问题所在。解决方案是修改引用字符。此外,还分享了一个小技巧,即在生成CSV时添加制表符,以优化在Excel中打开后的显示效果。
摘要由CSDN通过智能技术生成

前言

最近又要做导出数据功能,主要是以Excel为主,不过比起以前使用的POI导出xls文件。这次我决定把导出xls改为csv,起码不会被WPSMS Excel各种版本不兼容给坑了。 后面在技术选型上决定了使用Apachecommon-csv。 不过在使用遇到各种奇葩的问题。

问题复盘

相关信息

  1. JDK版本:oracle jdk 1.8.0_162
  2. common-csv版本:1.5

问题描述

使用common-csvCSVFormat提供的CSVFormat常量如:DEFAULTEXCEL等,若一行的第一个值为中文,则这个值会被双引号("")包裹。

复盘代码

StringBuilder builder=new StringBuilder();
try(CSVPrinter printer=new CSVPrinter(builder, CSVFormat.EXCEL.withHeader("表头1","表头2"));){
	printer.printRecord("测试数据1","测试数据2");
}catch (
回答: 当在Python中读取csv文件时遇到中文乱码问题时,可以采用以下两种方法解决。首先,可以在读取csv文件时指定文件的编码方式,例如使用encoding='GBK'来指定文件的编码方式为GBK。这样可以确保正确读取中文字符。其次,可以在读取csv文件时将引擎设置为python,即engine ='python',这可以解决一些特殊字符导致的乱码问题。例如,可以使用以下代码读取csv文件并打印前几行数据来检查乱码问题是否得到解决: data = pd.read_csv('爱奇艺视频数据.csv', encoding='GBK', engine='python') print(data.head()) [3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [python输出csv文件中文乱码-Python读取 csv文件中文乱码处理](https://blog.csdn.net/weixin_39992312/article/details/109623407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Python 读取csv文件,解决中文乱码问题](https://blog.csdn.net/bingbangx/article/details/124815250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值