将“粘贴”选项卡分隔的结果复制到excel文件中

将“粘贴”选项卡分隔的结果复制到excel文件中,excel,bash,Excel,Bash,我创建了一个脚本来从LDAP数据库获取数据,并将其写入一个文件中,每个值在一行中用制表符分隔。然后,我尝试将该文件的内容复制并粘贴到excel中,但它将该行中每个“列”的所有以制表符分隔的内容放在该行的第一列中,而不是将每列数据放在excel文件中自己的行中。一行一行地贴好。 例如,让我们以模拟的第一行为例 12121212 [] lastname, firstname [] title [] phone [] manager []=我试图以编程方式在数据输出中插入选项卡的位置 这让我感到困

我创建了一个脚本来从LDAP数据库获取数据,并将其写入一个文件中,每个值在一行中用制表符分隔。然后,我尝试将该文件的内容复制并粘贴到excel中,但它将该行中每个“列”的所有以制表符分隔的内容放在该行的第一列中,而不是将每列数据放在excel文件中自己的行中。一行一行地贴好。 例如,让我们以模拟的第一行为例

12121212 [] lastname,  firstname [] title [] phone [] manager
[]=我试图以编程方式在数据输出中插入选项卡的位置

这让我感到困惑,因为我故意创建了一个函数,从ldap搜索结果中删除新行,并在该列的数据返回的末尾添加一个选项卡。以下是addTab函数:

function addTab {
    res='           ' # res = "\t\tx"
    echo $1 | tr -d '\n'
    echo "$res" | tr -d '\n'
}

这就是我调用函数的方式(注意$I来自我用于通过循环迭代搜索的UID数组):

下面是getattrVal函数的代码

function getattrVale {
    /opt/bin/ldapsearch -QLLLZZH ldap://${VIP}:389/ -b $1 $2 | grep "$2:" |awk '{ print $2 }'
}

我甚至尝试过使用column命令生成漂亮的、甚至输出的列(即column-t bashCreatedTabFile.txt),但仍然无法在Excel电子表格中粘贴所需的内容


我意识到有更好的方法可以做到这一点,但我认为理解为什么这不起作用对我的进步很重要

我也有同样的问题。这不是最好的解决方案,但确实有效

将分隔符更改为逗号(
)。像往常一样复制文本并粘贴到Excel中。它可能仍然是一列。高亮显示列,转到Excel中的数据>文本到列

确保数据类型为“分隔符”,并选择“逗号”作为分隔符。我不知道为什么,但同样的事情似乎不适用于标签


尝试使用表格的html输出

喜欢用

print(tabulate(table, headers, tablefmt="html"))

<table>
<tbody>
<tr><th>item  </th><th style="text-align: right;">  qty</th></tr>
<tr><td>spam  </td><td style="text-align: right;">   42</td></tr>
<tr><td>eggs  </td><td style="text-align: right;">  451</td></tr>
<tr><td>bacon </td><td style="text-align: right;">    0</td></tr>
</tbody>
</table>
打印(表格(表格、标题、表格fmt=“html”))
项目数量
垃圾邮件42
鸡蛋451
培根0

如果我理解你的问题。。不需要。我只需将标准输出写入一个文件,然后打开该文件,复制该文件的内容并粘贴到excel文件中。所以我的假设是我应该复制所有包含标签的内容。但是选项卡似乎只是空格。它将每列的所有内容放在该行第一列的一行中。我将用一个例子来更新这篇文章。“od-xc bashCreatedTabFile.txt”是否在预期的位置显示选项卡和换行符?另外,如果您尝试导入txt文件(而不是剪切粘贴),它是否正确检测到列分隔符?您也可以尝试粘贴到一个新的文本文件中,然后查看它是否正确(这是Windows吗?可能剪切和粘贴正在将选项卡转换为空格?)我不确定在使用od-xc file命令时看到的是什么,但我猜它是不对的。无法将输出粘贴到此注释中。
print(tabulate(table, headers, tablefmt="html"))

<table>
<tbody>
<tr><th>item  </th><th style="text-align: right;">  qty</th></tr>
<tr><td>spam  </td><td style="text-align: right;">   42</td></tr>
<tr><td>eggs  </td><td style="text-align: right;">  451</td></tr>
<tr><td>bacon </td><td style="text-align: right;">    0</td></tr>
</tbody>
</table>