>我在Windows系统上有一个csv文件,我从Mac上获取,数据看起来像
ID526526526526
所以你可以看到没有新行没有分隔符,但它仍然说csv文件。但是我有以下代码,它是
$csvFile = 'MonC1.csv';
$allRowsAsArray = array();
if (!$fp=fopen($csvFile,"r")) echo "The file could not be opened.<br/>";
while (( $data = fgetcsv ( $fp , 0 , ',')) !== FALSE )
{
$allRowsAsArray[] = $data;
}
echo '<pre>';
print_r($allRowsAsArray );
echo '</pre>';
现在,当我在浏览器中打印数据时,它看起来像
Array
(
[0] => Array
(
[0] => ID
526
526
526
)
);
现在我被困住了,因为我无法使用 fputcsv 使用新行创建另一个正确分隔的 csv 文件。
非常欢迎任何帮助。提前谢谢。
检测行尾时出现问题。尝试在运行 fopen
之前打开auto_detect_line_endings
。
ini_set('auto_detect_line_endings', TRUE);
$csvFile = 'MonC1.csv';
$allRowsAsArray = array();
if (!$fp=fopen($csvFile,"r")) echo "The file could not be opened.<br/>";
while (( $data = fgetcsv ( $fp , 0 , ',')) !== FALSE )
{
$allRowsAsArray[] = $data;
}
echo '<pre>';
print_r($allRowsAsArray );
echo '</pre>';