php で csv ファイルを読み取って操作する方法はたくさんあります。最も簡単な方法は、fopen を直接使用して txt ファイルを開き、explode を使用してそれを分割し、a、b、c を使用して直接保存する方法です。 , e. csv形式に変換すればKOですが、PHPにはcsvファイルを操作するためのfputcsv関数も用意されていますので紹介します。
1. CVS を生成し、fputcsv() で行を CSV にフォーマットし、ファイル ポインターを書き込みます
コードは次のとおりです |
コードをコピー |
$list = 配列 (
「ああ、bbb、ccc、dddd」、
「11、22、33」、
'"php","java"'
);
$fp = fopen('file.csv', 'w');
foreach ($list as $line) {
fputcsv($fp,explode(',', $line));
}
fclose($fp);
?>
|
ちょっとしたヒントですが、CSV に中国語が含まれている場合は、中国語の問題に注意する必要があります。そうでないと、中国語の文字化けが発生します。以下は、中国語の文字化けを解決する例です。
コードは次のとおりです |
コードをコピー |
/**www.bKjia.c0m より*/
$row = 1;
$handle = fopen("file.csv","r");
//fgetcsv() は読み取った行を解析し、CSV 形式でフィールドを見つけ、それらのフィールドを含む配列を返します。
while ($data = fgetcsv($handle, 1000, ",")) {
$num = count($data);
echo " $row 行目の $num 個のフィールド: n";
$行++;
for ($c=0; $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) ブレーク;
}
fclose($handle);
}
if( $line==$n) return $out;
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
$ling[] = $out;
}
if ($line_end == $n) ブレーク;
}
fclose($handle);
}
if( $line_end==$n) return $ling;
false を返します;
}
$aa = get_file_line("windows_2011_s.csv", 11, 20) //11行目から20行目まで
foreach ($aa として $bb){
echo $bb."
";
}
?>
http://www.bkjia.com/PHPjc/630703.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/630703.html技術記事 php で csv ファイルを読み取って操作する方法はたくさんあります。最も簡単な方法は、fopen を使用して txt ファイルを直接開き、explode を使用して直接生成することもできます。