java - 如何使值中带有逗号的 java 对象不被拆分为 2 个单元格 CSV
问题描述
另一个问题不响应外部系统中由 XML 生成的对象的问题,其中不可能添加引号、反斜杠或任何其他文本。
我有脚本:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
public class test {
public static void main(String[] args){
try {
File fileDir = new File("c:\\java2\\test.csv");
Writer out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(fileDir), "UTF8"));
out.append('\ufeff');
out.append("Webňite, UTF-8").append(",");
out.append("?? UTF-8");
out.append(",");
out.append("??????? UTF-8").append("\r\n");
out.flush();
out.close();
}
catch (UnsupportedEncodingException e)
{
System.out.println(e.getMessage());
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
当转换为 csv 时,我需要将文本“Webňite,UTF-8”写入一个单元格。
请问有可能吗?
目前在 3 个文本中,我在 csv 中有 4 个单元格,我需要 3 个。
我需要包含逗号符号的文本,而不是被 csv 文件拆分为 2 个单元格。
(示例脚本仅用于演示目的,最后我有来自 XML 的 java 对象,它的值中包含逗号,并且不必要地分为 2 个单元格。
所以我需要解决方案,它也不适用于追加中的纯文本,也适用于对象。
谢谢
解决方案
尝试将逗号符号括在引号中。所以改变你的行:
out.append("Webňite, UTF-8").append(",");
至
out.append("Webňite\",\" UTF-8").append(",");
查看答案有没有办法在不破坏格式的情况下在 CSV 列中包含逗号?(顺便说一句,这可能是一个重复的问题)
推荐阅读
- python - django 表单未保存到数据库
- javascript - overflow-y 被应用到每一页
- c# - 该属性是键的一部分,因此不能修改或标记为已修改
- classification - 语言识别示例中的数组大小问题
- python - 在 plotly 中更改活动滑块值不会更改显示的数据
- ios - 接收您的应用违反了以下平台条款 4.f
- python - 使用 seaboard histplot 或 distplot 在同一轴上绘制三个图形
- r - emacs-ESS 一键运行多行 R 代码
- java - 如何使用 RecyclerView 的 TextView 中的值从房间数据库中为 TextView 设置新值
- python - Cython,无法访问魔术算术函数中的类成员