1、“CSV文件的格式中,双引号如果作为值,则要替换成两个连续的双引号。且该字段的外面要用双引号括上。”
并无此约束
read"csv,ppp
read""csv,ppp
都是合法的格式2、若字段用双引号括起,则字段中的双引号要遵从vb的串格式约定,请在自行编程生成CSV文件时注意
并无此约束
read"csv,ppp
read""csv,ppp
都是合法的格式2、若字段用双引号括起,则字段中的双引号要遵从vb的串格式约定,请在自行编程生成CSV文件时注意
解决方案 »
- 还是递归函数返回值问题,将子类ID保存为数组。
- 先安装LAMP,再安装Zend Studio,编写基本php代码,运行时提示连接数据库失败。
- 请高手看看postgresql的问题
- php.ini文件修改后不能生效
- 【求助】能用php下载别的网站的流媒体文件吗【急】
- 163博客的换衣服 是如何实现的
- 已知一个时间搓,可以计算出这个时间的所在星期的开始时间到结束时间么?
- php+mysql 取字段值比较 相同则比较另一字段值
- 一个急需您解答关于安全下载的问题,online
- 在關閉某頁面時,在此同時要打開另外一個頁面
- 类实例化问题,高手请进
- 谁知道点评网www.dianping.com用什么语言,默认的文件名是什么
而且要求如果作为值的双引号是一个,则给出错误提示。
我只是对这个CSV文件进行处理,检查,放到一个文本数据库中。
可是我不知道这种怎么判断?
请问一下,我读取csv文件出现乱码问题是怎么回事,在本地不会有乱码,但传到服务器上去就出现乱码了
mb_convert_encoding($str, "SJIS", "EUC-JP");
可是这个CSV文件的字段中可能包含逗号,如果直接用file按行打开文件,然后以逗号分割
就会把一个字段分成两个,还是会出错啊。朋友们,还有什么主意吗?
可是这个CSV文件的字段中可能包含逗号,如果直接用file按行打开文件,然后以逗号分割
就会把一个字段分成两个,还是会出错啊。//
怎么会出错 不会出错阿 我也是这样做的。
注意:分隔开的字符里 有数不清的tab符或者其他看不见的字符。(,前面或后面都没有这种字符) 用 CSting.Left 、mid 或者Right函数 自己取出你想要的吧。
我是这样处理的,例如a.csv文件中有这样一行:123,"a""bc","de,f",ghi
/*===代码如下===*/
$file = file( "a.csv" );
$num = count($file);
for($i=0;$i<$num;$i++)
{
list($id1, $id2,$id3,$id4) = explode(',',$file[$i],4);
echo($id1.'<br />');
echo($id2.'<br />');
echo($id3.'<br />');
echo($id4.'<br />');
echo($id5.'<br />');
}
/*===========结果============*/
123
"a""bc"
"de
f"/*=============*/
"de,f"这个字段读出后被拆成两个字段
123,"a""bc","de,f",ghi<?php
$fp = fopen('a.csv', 'r');
while($r = fgetcsv($fp)) {
print_r($r);
}
fclose($fp);
?>
输出
Array
(
[0] => 123
[1] => a"bc
[2] => de,f
[3] => ghi
)有什么不对吗???
xuzuning(唠叨)上面举例确实是对的,但是如果把数据中的 "a""bc" 换成 "a"bc"
输出就成为:
Array
(
[0] => 123
[1] => abc" //这个是错的
[2] => de,f
[3] => ghi
)
现在我就是想怎么样才能检查出类似 "a"bc" 这样的数据(作为值的双引号是一个)是错的,
我现在要做的是检查a.csv的格式,如果不正确(作为值的双引号是一个),给出提示,否则将它存入一个文本数据库(b.csv)中,同时还可以将这个文本数据库导出(c.csv)。"a""bc"(导入文件中的格式) ---> "a"bc"(数据库中的格式) --> "a""bc"(导出文件中的格式) 如果双引号不是换照CSV的规定,则读取后就不对了。弄的我直晕,本来挺简单的,可是人家要求这样,我只对想办法了。泪~~~PS:谢谢你们的帮忙呵呵。
"123","a""bc","de,f","ghi"
Array ( [0] => 123 [1] => a"bc [2] => de,f [3] => ghi )
"你可以先处理一下,如果只有一个双引号的号的,那就加一个双引号上去"============
可以说的再详细些吗?
str_replace(""", """", $str);
类似这种数据格式 "a"bc" 读出来就是错的,加双引号有什么用呢?
的值