当前位置:Gxlcms > PHP教程 > PHP操作csv文件代码详解_PHP教程

PHP操作csv文件代码详解_PHP教程

时间:2021-07-01 10:21:17 帮助过:26人阅读

在php中读取操作csv文件的方法有很多,最简单的可以直接使用fopen像打开txt文件打开,然后利用explode按, 分开就成了,生成也一样直接使用a,b,c,e保存成csv格式就KO,但php还提供了fputcsv函数对csv文件操作,下面我来介绍介绍。

1.生成CVS,fputcsv()将行格式化为 CSV 并写入文件指针

代码如下

$list = array (
'aaa,bbb,ccc,dddd',
'11,22,33',
'"php","java"'
);
$fp = fopen('file.csv', 'w');
foreach ($list as $line) {
fputcsv($fp, explode(',', $line));
}
fclose($fp);
?>


小提示,如果你csv中有中文我们需要注意一下中文问题,否则中文乱码就会和你在一起玩哦,下面给了一个实例解决中文乱码。

代码如下

/** by www.bKjia.c0m */
$row = 1;
$handle = fopen("file.csv","r");
//fgetcsv() 解析读入的行并找出 CSV格式的字段然后返回一个包含这些字段的数组。
while ($data = fgetcsv($handle, 1000, ",")) {
$num = count($data);
echo "

$num fields in line $row:
n";
$row++;
for ($c=0; $c < $num; $c++) {
//注意中文乱码问题
$data[$c]=iconv("gbk", "utf-8//IGNORE",$data[$c]);
echo $data[$c] . "
n";
}
}
fclose($handle);
?>

读取csv文件的某一行数据

代码如下

function get_file_line( $file_name, $line ){
$n = 0;
$handle = fopen($file_name,'r');
if ($handle) {
while (!feof($handle)) {
++$n;
$out = fgets($handle, 4096);
if($line==$n) break;
}
fclose($handle);
}
if( $line==$n) return $out;
return false;
}
echo get_file_line("windows_2011_s.csv", 10);
?>


读取csv文件制定行数(行区间)

代码如下
function get_file_line( $file_name, $line_star, $line_end){
$n = 0;
$handle = fopen($file_name,"r");
if ($handle) {
while (!feof($handle)) {
++$n;
$out = fgets($handle, 4096);
if($line_star <= $n){
$ling[] = $out;
}
if ($line_end == $n) break;
}
fclose($handle);
}
if( $line_end==$n) return $ling;
return false;
}
$aa = get_file_line("windows_2011_s.csv", 11, 20); //从第11行到第20行
foreach ($aa as $bb){
echo $bb."
";
}
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/630703.htmlTechArticle在php中读取操作csv文件的方法有很多,最简单的可以直接使用fopen像打开txt文件打开,然后利用explode按, 分开就成了,生成也一样直接使用...

人气教程排行