将制表符分隔的文本转换为数组[重复]

Posted

技术标签:

【中文标题】将制表符分隔的文本转换为数组[重复]【英文标题】:Convert tab delimited text into an array [duplicate] 【发布时间】:2017-05-13 08:14:20 【问题描述】:

我在文本区域中有一个制表符分隔的文本(字符串)。例如,用户只需将 SQL 查询的结果集与标题一起直接粘贴到此文本区域中。

读取此输入并将其转换为 phpjavascript 中的数组的理想方法是什么。我最终想使用 json_encode 将其转换为 json。

帮助感激!

【问题讨论】:

***.com/questions/1792950/… google php convert tab delimited string to array 【参考方案1】:

这样的事情应该可以工作:

<?php

if ($_POST) 
    $data = trim($_POST['pastedData']);

    $tabDelimitedLines = explode("\r\n", $data);
    $myArray = Array();

    foreach ($tabDelimitedLines as $lineIndex => $line) 
        $fields = explode("\t", $line);

        foreach ($fields as $fieldIndex => $field) 

            if ($lineIndex == 0) 
                // assuming first line is header info
                $headers[] = $field;
             else 
                // put the other lines into an array
                // in whatever format you want

                $myArray[$lineIndex - 1][$headers[$fieldIndex]] = $field;
            
        
    

    $json = json_encode($myArray);

    echo "Associative Array in PHP:<br>";
    echo "<pre>";
    var_dump($myArray);
    echo "</pre>";
    echo "JSON:<br>";
    echo $json;
    echo "<br><br>";

?>
<html>
<form method="post">
    <label>Paste some Tab Delimited Data with Headers:</label><br>
    <textarea name="pastedData"></textarea><br><br>
    <button type="submit">Submit</button>
</form>
</html>

【讨论】:

以上是关于将制表符分隔的文本转换为数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 LibreOffice 的 'scalc' 从命令行将制表符分隔的文本转换为 Excel

遍历并行列表并将一个列表中的制表符分隔文本转换为另一个列表中的 csv 路径

无法将制表符分隔的文件读入 numpy 二维数组

将大制表符分隔文件读入R [重复]

将制表符和换行符分隔的字符串转换为 pandas 数据框

使用 python 和 pandas 将错误创建的大型 csv 文件转换为制表符分隔文件