你知道csv中如何输出英文csv 双引号号吗?

&&&&&&&&&&&&&&& CSV文件是一种适合程序格式化输出数据的文件格式。它使用英文逗号作为列分隔符,文件可以直接用Excel打开。CSV的规则简单,便于程序输出;Excel对CSV的兼容性使得我们可以非常轻松的使用Excel提供的所有强大功能。
&&&&&&&&&&&&&&& 唯一需要注意的地方就是CSV是使用英文逗号作为列分隔符的,所以当你输出的文本中含有英文逗号时就会被CSV认为是列分隔符,从而使得文件的现实格式与预想中的不同。因此,我们需要对内容进行转义。
&&&&&&&&&&&&&&& 网上可以得到的关于CSV的转义大致可以总结为:
1.&&&&&&如果一个单元内含有逗号,那么用半角双引号将内容包含,其中的逗号将不被识别为列分隔符;
2.&&&&&&如果原内容中出现了半角双引号,便是用两个半角双引号转义。&&&&&&&&&&&
但是在实际操作中,就会发现如果某个单元内出现多个逗号,双引号,我们的规则便不对了。例如:
test,ma, &ma, &&go&&, &&go&&,&&go&&&
我们希望的输出格式是三列,但是Excel会显示为六列。我们的转义字符失效了。
之所以如此,通过我的分析,我认为CSV将每个逗号之间的内容作为首要参考标准。如果用逗号作分隔是可行的,那么Excel将不会做任何更多的处理。
看一个更简单的例子:
test,ma, &woshima, sldkl&,
我们希望将其显示为三列,但是结果却是四列:
由此可见,网上流传的转移规则并不完全。其根本原因在于,CSV只是一个技术规范,不同的程序对其有不同的支持;而且CSV本身的规范也是相当繁琐( )。如果希望用程序去实现这样的规范,那么CSV的简单性的优势将不复存在。
好了,说到这里,我们应该怎么做呢? 我个人认为,最好的办法就是规定一个特殊的字符串作为英文逗号的转义字符。
这样就一了百了。
本文已收录于以下专栏:
相关文章推荐
按照如下处理步骤可实现:
csv格式如果有逗号,将这个字段整体用双引号括起来;如果里面还有双引号就替换成两个双引号,这样导出来的格式就不会有问题了
如 cvs文件内容为
CSV全称是:Comma Separated Values 或者 Character Separated Values。
尽管第一种说法更常见,但我觉得还是第二种说法更确切一些,因为你可以使用其它字...
csv文件一般格式为:
但是当文件内存储有逗号、引号,如果只是用split(",")会导致在存在逗号的情况下出错。
1,“2,2",3
原文:http://blog.csdn.net/maqingli20/article/details/7095132
--------------------------------------...
在小批量数据导入的时候,最常用的就是使用excel工具,将数据保存为xls或csv文件,然后上传到服务器,然后读取出来通过数据库访问类的相关方法更新到数据库中。对于如何读取xls文件的方法,网上太多...
using System.Collections.G
using System.IO;
using System.L
using System.Web...
前面我们讲述了如何搭建一个简单的 spring Boot 应用(参见Spring Boot - 初探),这里,我们来学习如何对项目进行相关的配置,包括系统构建、自动配置、依赖注入、开...
package com.
import java.util.M
import org.apache.solr.client.solrj.SolrQ
csv文件简介ruby如何处理csv文件1,ruby有一个标准库用于处理csv文件,在代码中引入即可:
require ‘csv’2,写csv文件的2个方法
CSV.open(“path/to/f...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)&保存csv文件的时候,我们通过逗号进行分隔,如果使用excel进行打开的话,在展现上可能会有一些问题,这里使用的是office 2007,如果是一个较长数字或者为一串数字字符串,这里包括以0开始的字符串,用excel打开后,我们看到的可能是经过科学计算转换过后的,或者是去掉了前面0的数字,为了展现方便,我们可以在生成csv文件的时候,用=””将这样的字段来表示即可.
  此外还有一些其他情况也需要注意,例如字符串中含有逗号的情况,需要用”aa,bb”这样的形式来表达。
  最后,要说明的是,如果我们通过黏贴或者到处的方式生成了新的excel文件,这样的修改并不会影响我们通过程序来读取excel内容时获取的内容,即=或””会自动被过滤。
碰到的问题
1.单元格内容有换行,csv 文件会换行
3.单元格内容有逗号,csv 文件会分割单元格
3.单元格内容有双引号,csv 文件会把第一个双引号&吃掉&.
前俩个问题 用\& 包含单元格内容可以解决,
第三个问题 把一个单引号替换成俩个, csv 文件只显示一个.
/user6/tile/121.html
最近写了一个生成csv的程序,生成的csv其中有一列数字长度为13位,csv中查看没有问题,但是用excel打开数字就会变成科学计数法&
解决办法:&
&& 1、在生成csv的时候,在数字的前面或后面加上&\t&制表符,再用excel打开问题解决!如 “
&& 2、在生成csv的时候,在数字的前面加上&=&,再用excel打开问题解决!如 =&&,=“”,
=============
如果用&000&,则结果用excel 查看只有0
本文已收录于以下专栏:
相关文章推荐
在项目中,需要导出查询结果集,但是每天记录的其中一项描述内容可以包含逗号,一开始的解决方案是直接把内容的逗号替换为点。很显然改动了用户体验,客户可不允许这样做,没得办法直接到网上找夏解决方案。
按照如下处理步骤可实现:
csv格式如果有逗号,将这个字段整体用双引号括起来;如果里面还有双引号就替换成两个双引号,这样导出来的格式就不会有问题了
如 cvs文件内容为
一. 对于CSV的读写既可以像读写txt文件似的读写//读文件
InputStreamReader read = new InputStreamReader(
在写CSV文件时,如果要让一个单元格内的内容换行的话,需要将这个单元格的内容都用双引号括起来,如 "aabb",然后在需要换行的位置写入换行的转义字符,/r/n或者/n,在MSExcel2007中采用...
在小批量数据导入的时候,最常用的就是使用excel工具,将数据保存为xls或csv文件,然后上传到服务器,然后读取出来通过数据库访问类的相关方法更新到数据库中。对于如何读取xls文件的方法,网上太多了...
CSV全称是:Comma Separated Values 或者 Character Separated Values。
尽管第一种说法更常见,但我觉得还是第二种说法更确切一些,因为你可以使用其它字...
在小批量数据导入的时候,最常用的就是使用excel工具,将数据保存为xls或csv文件,然后上传到服务器,然后读取出来通过数据库访问类的相关方法更新到数据库中。对于如何读取xls文件的方法,网上太多...
# -*- coding:GBK -*-
import cx_Oracle
import time
import csv
conn=cx_Oracle.connect("scott","123...
自定义Mapper
import java.io.IOE
import org.apache.hadoop.io.LongW
import org.apache....
1.下载jdk的rpm安装包,这里以jdk-6u21-linux-i586-rpm.bin为例进行说明下载地址:/technetwork/java/javas...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)随笔 - 84&
评论 - 10&
&&&&&&&&&&&
CSV文件格式
1、CSV文件默认以英文逗号(,)做为列分隔符,换行符(\n)作为行分隔符。2、CSV默认认为由""括起来的内容是一个栏位,这时不管栏位内容里有除"之外字符的任何字符都可以按原来形式引用。
3、若字段内容里含有",这时只需将"替换成两个双引号("")即可。CSV会将字段里的两个双引号""显示成一个。
4、应用char(9)表示按照文本形式显示(实例红色字体部分)。
private void ExportToSCV(GridView gridview, string path)
if (File.Exists(path) && IsFileInUse(path))
MessageBox.Show("文件被占用,请先关闭文件!");
StringBuilder sb = new StringBuilder();
string strCols = string.E
foreach (GridColumn col in gridview.Columns)
if (!col.Visible)
strCols += col.C
strCols += ",";
strCols = strCols.Remove(strCols.Length - 1, 1);
sb.AppendLine(strCols);
for (int i = 0; i & gridview.RowC i++)
string strRow = string.E
foreach (GridColumn col in gridview.Columns)
if (!col.Visible)
// 应用char(9)表示按照文本形式显示
string strValue ="\"" + ((char)(9)).ToString() + gridview.GetRowCellDisplayText(i, col) + "\"";
strRow += strV
strRow += ",";
strRow = strRow.Remove(strRow.Length - 1, 1);
sb.AppendLine(strRow);
using (StreamWriter sw = new StreamWriter(path, false, Encoding.GetEncoding("GB2312")))
sw.Write(sb.ToString());
sw.Flush();
catch (Exception ex)
MessageBox.Show(ex.Message);
private bool IsFileInUse(string fileName)
bool inUse =
FileStream fs =
fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);
if (fs != null)
fs.Close();
return inU//true表示正在使用,false没有使用
阅读(...) 评论()

我要回帖

更多关于 csv格式去掉双引号 的文章

 

随机推荐