php读取csv数据保存到数组的方法

 这篇文章主要介绍了php读取csv数据保存到数组的方法,通过封装的类文件实现这一功能,是对csv文件操作的实用技巧,需要的朋友可以参考下

 
 

本文实例讲述了php读取csv数据保存到数组的方法。分享给大家供大家参考。具体分析如下:

csv是常用的excel格式的替代品,很多时候我们导出数据是都会导成csv格式的,这样和excel没什么区别,下面的程序是要读取csv数据保存到数组我们要对数据进行操作,所以保存到数据,代码如下:

代码如下:
$info=csvtoarray::open('teste.csv');
//echo '<pre>';
//print_r($info);
//echo '</pre>';
foreach ($info as $c)
{
echo '学号:'.$c[0];
echo '姓名:'.$c[1];
echo '年龄:'.$c[2];
echo '身高:'.$c[3].'<br>';
}

final class csvtoarray{

/**
* 把csv文件解析为一个数组返回
*
* @param string $file 要解析的csv文件路径
* @param char $delimiter csv文件里的内容分隔符 默认为;
* @return array
*/
public static function open($file, $delimiter = ';'){
return self::ordenamultiarray(self::csvarray($file, $delimiter), 1);
}

private function csvarray($file, $delimiter)
{
$result = array();
$size = filesize($file) + 1;
$file = fopen($file, 'r');
$keys = fgetcsv($file, $size, $delimiter);
fseek($file,0);//这里原来的没有..自己加上..这样能读取到第一行的内容
while ($row = fgetcsv($file, $size, $delimiter))
{
for($i = 0; $i < count($row); $i++)
{
if(array_key_exists($i, $keys))
{
$row[$keys[$i]] = $row[$i];
}
}
print_r($row);
$result[] = $row;
}

fclose($file);

return $result;
}
private function ordenamultiarray($multiarray, $secondindex)
{
while (list($firstindex, ) = each($multiarray))
$indexmap[$firstindex] = $multiarray[$firstindex][$secondindex];
asort($indexmap);
while (list($firstindex, ) = each($indexmap))
if (is_numeric($firstindex))
$sortedarray[] = $multiarray[$firstindex];
else $sortedarray[$firstindex] = $multiarray[$firstindex];
return $sortedarray;
}
}

 

希望本文所述对大家的php程序设计有所帮助。

时间: 2024-09-15 06:47:26

php读取csv数据保存到数组的方法的相关文章

php读取csv数据保存到数组的方法_php技巧

本文实例讲述了php读取csv数据保存到数组的方法.分享给大家供大家参考.具体分析如下: csv是常用的excel格式的替代品,很多时候我们导出数据是都会导成csv格式的,这样和excel没什么区别,下面的程序是要读取csv数据保存到数组我们要对数据进行操作,所以保存到数据,代码如下: 复制代码 代码如下: $info=csvtoarray::open('teste.csv'); //echo '<pre>'; //print_r($info); //echo '</pre>';

php读取csv数据保存到数组代码

php教程读取csv数据保存到数组代码 csv是常用的excel格式的替代品哦,很多时候我们导出数据是都会导成csv格式的,这样和excel没什么区别,下面的程序是要读取csv数据保存到数组我们要对数据进行操作,所以保存到数据. $info=csvtoarray::open('teste.csv'); //echo '<pre>'; //print_r($info); //echo '</pre>'; foreach ($info as $c)  {   echo '学号:'.$c

显示-vb.net如何读取文件,把文件数据保存成数组?

问题描述 vb.net如何读取文件,把文件数据保存成数组? Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.ListBox1.Items.Clear() Dim StrRed As StreamReader = New StreamReader("C:JD.JD", System.Text.Encoding.Default) While Not StrRed.End

qt-QT读文件中的指定行,且将每行中的数据保存到数组里

问题描述 QT读文件中的指定行,且将每行中的数据保存到数组里 QT读文件中的指定行,前六行不要,从第七行开始,且将每行中的两个数分别保存到两个数组里,读到有一行的第一个不为数字而是 '这个标志结束.把读出来的两个数组显示到Textedit上.求详细代码.

php使用fgetcsv读取csv文件出现乱码的解决方法_php技巧

本文实例讲述了php使用fgetcsv读取csv文件出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 一般来说在php中碰到乱码多半是编码问题,在这里我们实例分析了fgetcsv读取csv文件乱码原因所在与解决方法. 例子如下: 复制代码 代码如下: function get_csv_contents( $file_target ){  $handle  = fopen( $file_target, 'r');  while ($data = fgetcsv($handle, 1000,

mysql 导出 xls 与csv 数据实现与乱码解决方法

mysql教程 导出 xls 与csv 数据实现与乱码解决方法 下面关于 先来看mysql 导出导入 xls 与csv数据实例方法,同时在碰到导入乱码时的有效解决方法, 在mysql命令行下执行以下sql语句: mysql>select * from xi_table into outfile 'd:www.111cn.nettest.xls'; 有时候有excel打开的时候会出现乱码, 因为office默认的是gb2312编码,服务器端生成的很有可能是utf-8编码,可以在服务器端使用icon

php查询mysql数据库并将结果保存到数组的方法

 这篇文章主要介绍了php查询mysql数据库并将结果保存到数组的方法,实例分析了php使用mysql_fetch_assoc查询数据库的技巧,需要的朋友可以参考下     本文实例讲述了php查询mysql数据库并将结果保存到数组的方法.分享给大家供大家参考.具体分析如下: 这里主要用到了mysql_fetch_assoc函数 mysql_fetch_assoc语法如下: ? 1 array mysql_fetch_assoc (resource $Result_Set) 范例代码如下: ?

php查询mysql数据库并将结果保存到数组的方法_php技巧

本文实例讲述了php查询mysql数据库并将结果保存到数组的方法.分享给大家供大家参考.具体分析如下: 这里主要用到了mysql_fetch_assoc函数 mysql_fetch_assoc语法如下:  array mysql_fetch_assoc (resource $Result_Set) 范例代码如下: <?php $UserName = 'abc'; $Password = '1234'; $DbHandle = mysql_connect ('localhost', $UserNa

读取文件数据写到数组的问题!!

问题描述 硬盘分区目录下有个*.text文件,里面写有数据为:123.11456.22789.336434.122123.11456.22789.336434.122123.11456.22789.336434.122123.11456.22789.336434.122123.11456.22789.336434.122123.11456.22789.336434.122请问如何从这个文件里读取这些数据,并把他们存入DOUBLE型数组中,数组中的行.列数要与文件中的行.列数一致,相应数字也一一对