GVKun编程网logo

将CSV转换为PHP数组 – 终点问题(CR LF)(将csv文件转换为二维数组)

13

对于想了解将CSV转换为PHP数组–终点问题(CRLF)的读者,本文将提供新的信息,我们将详细介绍将csv文件转换为二维数组,并且为您提供关于js数组怎么转换为php数组、openpyxl将CSV转换

对于想了解将CSV转换为PHP数组 – 终点问题(CR LF)的读者,本文将提供新的信息,我们将详细介绍将csv文件转换为二维数组,并且为您提供关于js数组怎么转换为php数组、openpyxl将CSV转换为EXCEL、oracle中如何将csv转换为表格、php – 将CSV转换为数组的有价值信息。

本文目录一览:

将CSV转换为PHP数组 – 终点问题(CR LF)(将csv文件转换为二维数组)

将CSV转换为PHP数组 – 终点问题(CR LF)(将csv文件转换为二维数组)

我正在使用代码bellow将csv文件转换为数组.但是,问题是该行的结尾是CR LF,并且未检测到它,因此数组具有错误的偏移量. CR LF被忽略,并且它周围的“单元”被合并.

我怎么能重写代码来正确检测这行结束和拆分数组?或者,有没有更好的方法将csv转换为数组?

这里有一些类似的问题,但我还没有找到解决这个问题的方法.

谢谢.

$fileName ='test.csv';   
$csvData = file_get_contents($fileName); 
$csvNumColumns = 11; 
$csvDelim = ";"; 
$data = array_chunk(str_getcsv($csvData,$csvDelim),$csvNumColumns); 

print_r($data);

解决方法

你尝试过使用fgetcsv()吗?关于 php.net的完整信息.

来自PHP.net的示例用法

<?PHP
$row = 1;
if (($handle = fopen("test.csv","r")) !== FALSE) {
    while (($data = fgetcsv($handle,1000,",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?>

js数组怎么转换为php数组

js数组怎么转换为php数组

现如今,web前端技术得到快速发展,javascript(js)正逐渐成为web开发中的重要之一。php作为web后端语言同样也是不可或缺的一部分,而在开发中,经常需要在js与php之间进行数据交互,其中经常涉及到js数组转换为php数组,本文就来详细讲述这方面的内容。

在JS中,数组是一种存储数据的方式,而PHP中的数组可以存储字符串、数字、布尔值以及其他数据类型,对于js数组转换为php数组可以使用JSON实现。

1.将JS数组转为JSON格式。

在JS中可以通过JSON.stringify()将数组转化为JSON格式的字符串,如下所示:

1

2

3

var jsArr = [1,2,3,''abc''];

var jsonArr = JSON.stringify(jsArr);

console.log(jsonArr);

登录后复制

输出结果为:[1,2,3,"abc"]

立即学习“PHP免费学习笔记(深入)”;

2.将JSON格式字符串转为php数组。

不能直接把JSON格式的字符串赋值给PHP数组,需要使用json_decode()函数将JSON格式字符串转为PHP数组,如下所示:

1

2

3

$jsonArr ''[1,2,3,"abc"]'';

$phpArr = json_decode($jsonArr);

print_r($phpArr);

登录后复制

输出结果为:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => abc )

同时,在json_decode()函数中可以添加第二个可选参数,用于指定转换出来的数组数据类型,如下所示:

1

2

3

$jsonArr ''[1,2,3,"abc"]'';

$phpArr = json_decode($jsonArr, true);

print_r($phpArr);

登录后复制

输出结果为:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => abc )

此处添加了参数true,表示将JSON格式字符串转换成PHP关联数组。

  1. 将js数组转为php数组。

通过上述过程可以发现,将js数组转为php数组可以通过将js数组转换成JSON字符串,并使用json_decode()函数将JSON字符串转为PHP数组实现。

示例如下:

1

2

3

4

5

6

7

8

var jsArr = [1,2,3,''abc''];

var jsonArr = JSON.stringify(jsArr);

console.log(jsonArr);

 

<?php $jsonArr = &#39;[1,2,3,"abc"]&#39;;

$phpArr = json_decode($jsonArr);

print_r($phpArr);

?>

登录后复制

进行转换之后,就可以得到一个PHP中的数组:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => abc )。

4.总结

对于JS数组转换为PHP数组,主要通过将JS数组转换为JSON格式字符串,再使用PHP中的json_decode()函数将JSON格式字符串转为PHP数组实现。需要特别注意的是,转换过程中需要注意JSON格式字符串的转义和编码等问题,避免出现数据传输错误和解析问题。本文所述只是一种方式,读者可根据自己的需要灵活运用,实现不同类型的数据传输与处理。

以上就是js数组怎么转换为php数组的详细内容,更多请关注php中文网其它相关文章!

openpyxl将CSV转换为EXCEL

openpyxl将CSV转换为EXCEL

如何:使用openpyxl模块将带有定界符的CSV文件转换为XLS(Excel工作表)?

答案1

小编典典

好吧,你去…

import csvfrom openpyxl import Workbookfrom openpyxl.cell import get_column_letterf = open(r''C:\Users\Asus\Desktop\herp.csv'')csv.register_dialect(''colons'', delimiter='':'')reader = csv.reader(f, dialect=''colons'')wb = Workbook()dest_filename = r"C:\Users\Asus\Desktop\herp.xlsx"ws = wb.worksheets[0]ws.title = "A Snazzy Title"for row_index, row in enumerate(reader):    for column_index, cell in enumerate(row):        column_letter = get_column_letter((column_index + 1))        ws.cell(''%s%s''%(column_letter, (row_index + 1))).value = cellwb.save(filename = dest_filename)

oracle中如何将csv转换为表格

oracle中如何将csv转换为表格

如何制作一个包,在传入 csv 值时以表格格式返回结果。

select * from table(schema.mypackage.myfunction(''one, two, three''))

应该回来

onetwothree

我尝试了ask tom 的一些东西,但这只适用于 sql 类型。

我正在使用 oracle 11g。有什么内置的吗?

答案1

小编典典

以下作品将其调用为 select * from table(splitter(''a,b,c,d''))

create or replace function splitter(p_str in varchar2) return  sys.odcivarchar2listisv_tab sys.odcivarchar2list:=new sys.odcivarchar2list();beginwith cte as (select level  ind from dualconnect by level <=regexp_count(p_str,'','') +1)select regexp_substr(p_str,''[^,]+'',1,ind)bulk collect into v_tabfrom cte;return v_tab;end;/

php – 将CSV转换为数组

php – 将CSV转换为数组

我有这个数组与机场代码和城市名称(约3500行).
code,city
"Abilene,TX ",ABI
"Adak Island,AK ",ADK
"Akiachak,KKI
"Akiak,AKI
"Akron/Canton,OH ",CAK
"Akuton,KQA
"Alakanuk,AUK
"Alamogordo,NM ",ALM

我需要将该文件转换为PHP数组.到目前为止这是我的代码:

if(($handle = fopen('test.csv','r')) !== FALSE) {
    while (($data = fgetcsv($handle,1000,','"')) !== FALSE) {
        echo '<pre>';
            print_r($data);
            echo '</pre>';
    }
    fclose($handle);
}

虽然我正在设置fgetcsv函数的分隔符和封闭字符,但是我得到了这个结果:

Array
(
    [0] => code
    [1] => city
"Abilene
    [2] => TX "
    [3] => ABI
"Adak Island
    [4] => AK "
    [5] => ADK
"Akiachak
    [6] => AK "
    [7] => KKI
"Akiak
    [8] => AK "
    [9] => AKI
"Akron/Canton
    [10] => OH "
    [11] => CAK
"Akuton
    [12] => AK "
    [13] => KQA
"Alakanuk
    [14] => AK "
    [15] => AUK
"Alamogordo
    [16] => NM "
    [17] => ALM
)
如果是换行符,您可以尝试使用暴力方法:
$file = file_get_contents("test.csv");
$data = array_map("str_getcsv",preg_split('/\r*\n+|\r+/',$file));
print_r($data);

str_getcsv可通过PHP 5.3获得,或通过upgradephp或PHP_Compat作为手册中的解决方法.

今天的关于将CSV转换为PHP数组 – 终点问题(CR LF)将csv文件转换为二维数组的分享已经结束,谢谢您的关注,如果想了解更多关于js数组怎么转换为php数组、openpyxl将CSV转换为EXCEL、oracle中如何将csv转换为表格、php – 将CSV转换为数组的相关知识,请在本站进行查询。

本文标签: