GVKun编程网logo

在Linux中将制表符分隔的文件转换为CSV的最快方法(linux excel转csv)

14

在本文中,我们将详细介绍在Linux中将制表符分隔的文件转换为CSV的最快方法的各个方面,并为您提供关于linuxexcel转csv的相关解答,同时,我们也将为您带来关于javascript–读取制表

在本文中,我们将详细介绍在Linux中将制表符分隔的文件转换为CSV的最快方法的各个方面,并为您提供关于linux excel转csv的相关解答,同时,我们也将为您带来关于javascript – 读取制表符分隔文件,逐行比使用制表符分隔每行分割、Kiwi syslog 消息生成器从制表符分隔的文本文件发送日志、linux – 将固定宽度的文件从文本转换为csv、linux中如何同时将多个连续空格和制表符转换为一个空格或者制表符的有用知识。

本文目录一览:

在Linux中将制表符分隔的文件转换为CSV的最快方法(linux excel转csv)

在Linux中将制表符分隔的文件转换为CSV的最快方法(linux excel转csv)

我有一个制表符分隔的文件,其中包含超过2亿行。在Linux中将其转换为CSV文件的最快方法是什么?该文件的确包含多行标题信息,我需要将其删除,但是标题行数是已知的。我已经看到了有关sed和的建议gawk,但是我想知道是否存在“首选”选择。

为了澄清起见,此文件中没有嵌入的选项卡。

答案1

小编典典

如果您需要做的就是 所有制表符 转换 为逗号,tr则可能是这样。

此处的空白是文字标签:

$ echo "hello   world" | tr "\\t" ","hello,world

当然,如果您在文件的字符串文字中嵌入了制表符,那么这也会错误地转换它们。但是嵌入的文字标签很少见。

javascript – 读取制表符分隔文件,逐行比使用制表符分隔每行分割

javascript – 读取制表符分隔文件,逐行比使用制表符分隔每行分割

我能够逐行读取文件,但我不知道如何使用制表符分隔每行.这是我的代码.需要一些关于这个问题的帮助
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Sum of a Column in JavaScript</title>
    </head>

    <input type="file" name="file" id="file">

    <script type="text/javascript">

    document.getElementById('file').onchange = function(){

    var file = this.files[0];

    var reader = new FileReader();
    reader.onload = function(progressEvent){
    // Entire file
    console.log(this.result);

    // By lines
    var lines = this.result.split('\n');
    for(var line = 0; line < lines.length; line++){
        // By tabs
        var tabs = lines[line].split('\\t');
        for(var tab = 0; tab < tabs.length; tab++){    
                alert(tabs[tab]);
        }   
    }
  };
  reader.readAsText(file);
};

</script>

解决方法

@H_301_7@ 我发现这很有用,并用js .map()函数替换了for …循环.另外,我将数据加载到数组中:
// By lines
    var arr1 = [];
    var arr2 = [];
    var arr3 = [];
    var arr4 = [];
    var arr5 = []; // assuming 5 tabs
    var lines = this.result.split('\n');
    lines.map(function(item){
      var tabs = item.split('\t');
      console.log("0",tabs[0],"1",tabs[1],"2",tabs[2],"3",tabs[3],"4",tabs[4],"5",tabs[5],"6",tabs[6]);
      arr1.push(tabs[0]);
      arr2.push(tabs[1]);
      arr3.push(tabs[2]);
      arr4.push(tabs[3]);
      arr5.push(tabs[4]);
    });
    // test two of the arrays after reading:
    for (var i = 0; i < mdarr.length; i++) {
      console.log(arr1[i],arr2[i]);
    };
  }
  reader.readAsText(file);
};

Kiwi syslog 消息生成器从制表符分隔的文本文件发送日志

Kiwi syslog 消息生成器从制表符分隔的文本文件发送日志

如何解决Kiwi syslog 消息生成器从制表符分隔的文本文件发送日志?

我希望有人可以帮助使用这个工具。

我安装了 kiwi syslog 消息生成器。我可以使用下拉菜单中的大多数事件生成器,除了一个。

在下拉菜单中有一个名为 From tab delimited text file

的选项

我认为它们是指具有制表符分隔符的 .tsv 文件或 .txt 文件。

所以我配置了一个带有制表符分隔符的 txt 文件,我选择了该文件,但是当我按下 send 按钮时,没有任何反应,我收到(在 grafana 中)只是一条带有 logstash_index 消息的消息。

任何人都可以帮助了解我如何从这个选项发送自定义系统日志,因为在线找不到任何东西

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

linux – 将固定宽度的文件从文本转换为csv

linux – 将固定宽度的文件从文本转换为csv

我有一个文本格式的大型数据文件,我想通过指定每个列长度将其转换为csv.

列数= 5

列长

[4 2 5 1 1]

样本观察:

aasdfh9013512
ajshdj 2445df

预期产出

aasd,fh,90135,1,2
ajsh,dj,2445,d,f

解决方法

GNU awk(gawk)直接用FIELDWIDTHS支持这个,例如:
gawk '$1=$1' FIELDWIDTHS='4 2 5 1 1' OFS=,infile

输出:

aasd,f

linux中如何同时将多个连续空格和制表符转换为一个空格或者制表符

linux中如何同时将多个连续空格和制表符转换为一个空格或者制表符

 

1、测试数据

[root@centos7 test]# ls
test.txt
[root@centos7 test]# cat test.txt
y               j     k
j                       k h
d               j      r
[root@centos7 test]# sed -n l test.txt    ## 测试数据
y\t\tj     k$
j  \t  \t \tk h$
d\t\tj      r$

 

2、将多个连续的空格或者制表符转换为一个制表符

[root@centos7 test]# ls
test.txt
[root@centos7 test]# cat test.txt
y               j     k
j                       k h
d               j      r
[root@centos7 test]# sed -n l test.txt
y\t\tj     k$
j  \t  \t \tk h$
d\t\tj      r$
[root@centos7 test]# sed 's/[\t ]\+/\t/g' test.txt | sed -n l  
y\tj\tk$
j\tk\th$
d\tj\tr$

 

3、同2,  \s 等价与[\t ]

[root@centos7 test]# ls
test.txt
[root@centos7 test]# cat test.txt
y               j     k
j                       k h
d               j      r
[root@centos7 test]# sed  -n l test.txt
y\t\tj     k$
j  \t  \t \tk h$
d\t\tj      r$
[root@centos7 test]# sed 's/\s\+/\t/g' test.txt | sed -n l   ## 转换为制表符
y\tj\tk$
j\tk\th$
d\tj\tr$
[root@centos7 test]# sed 's/\s\+/ /g' test.txt | sed -n l    ## 转换为空格
y j k$
j k h$
d j r$

 

今天关于在Linux中将制表符分隔的文件转换为CSV的最快方法linux excel转csv的介绍到此结束,谢谢您的阅读,有关javascript – 读取制表符分隔文件,逐行比使用制表符分隔每行分割、Kiwi syslog 消息生成器从制表符分隔的文本文件发送日志、linux – 将固定宽度的文件从文本转换为csv、linux中如何同时将多个连续空格和制表符转换为一个空格或者制表符等更多相关知识的信息可以在本站进行查询。

本文标签: