Questions tagged «csv»

包含数据的文件通常以逗号(因此用逗号分隔值)排列在表中以分隔列。行之间用换行符分隔(但并非所有换行符都是行分隔符,因为可以用引号引起来的字段包含分隔符换行符。对于完整的CSV数据,请使用此标记,而不是每行一个记录或完全不加引号的简单情况(使用csv-simple这类数据)。

6
使用jq提取CSV格式的值和格式
我有以下JSON文件: { "data": [ { "displayName": "First Name", "rank": 1, "value": "VALUE" }, { "displayName": "Last Name", "rank": 2, "value": "VALUE" }, { "displayName": "Position", "rank": 3, "value": "VALUE" }, { "displayName": "Company Name", "rank": 4, "value": "VALUE" }, { "displayName": "Country", "rank": 5, "value": "VALUE" }, ] } 我想使用以下格式的CSV文件: …
57 bash  python  csv  json  jq 

19
是否有用于处理csv文件的强大命令行工具?
我使用CSV文件,有时需要从命令行快速检查行或列的内容。在许多情况下cut,head,tail,和朋友将做的工作; 但是,割伤无法轻松应对以下情况 "this, is the first entry", this is the second, 34.5 在这里,第一个逗号是第一个字段的一部分,但cut -d, -f1不同意。在我自己编写解决方案之前,我想知道是否有人知道用于此工作的好工具。它至少必须能够处理上面的示例,并从CSV格式的文件返回一列。其他理想的功能包括根据第一行中给出的列名选择列的能力,对其他引用样式的支持以及对制表符分隔文件的支持。 如果您不了解这样的工具,但是对使用Bash,Perl或Python或其他常见脚本语言实现这样的程序有建议,那么我不会介意这样的建议。


2
在一个脚本中加入多个sed命令以处理CSV文件
具有这样的CSV文件: HEADER "first, column"|"second "some random quotes" column"|"third ol' column" FOOTER 并寻找类似的结果: HEADER first, column|second "some random quotes" column|third ol' column 换句话说,删除“ FOOTER”,在引号的开头,结尾和周围加引号。 到目前为止,此代码有效: sed '/FOOTER/d' csv > csv1 | #remove FOOTER sed 's/^\"//' csv1 > csv2 | #remove quote at the beginning sed 's/\"$//' csv2 > csv3 | #remove …
34 sed  csv 

4
使用分号分隔的字段在命令行上将.xlsx(MS Excel)文件转换为.csv
我意识到这不是一个完全与unix / linux相关的问题。但是,由于这是我将在linux上执行的操作,因此希望有人能提供答案。 我有一个在线excel文件(.xlsx),该文件会定期(由其他人)更新。我想编写一个脚本并将其作为cronjob放入以便处理该excel工作表。但是要做到这一点,我需要将其转换成一个.csv用分号分隔的列的文本文件(so )。不幸的是,不能用逗号分隔,因为有些列中有逗号。是否完全可以从Shell进行转换?我已经安装了Open office,并且可以使用其GUI来执行此操作,但是想知道是否可以从命令行执行此操作。谢谢! PS:我也有一台Mac机器,所以如果某些解决方案可以在那里工作,那也很好。:)


7
仅在逗号分隔文件中删除引号之间的逗号
我有一个用逗号(,)分隔的输入文件。有一些用双引号引起来的字段,其中用逗号分隔。这是示例行 123,"ABC, DEV 23",345,534.202,NAME 我需要删除所有在双引号和双引号内出现的逗号。所以上面的行应该解析成如下图所示 123,ABC DEV 23,345,534.202,NAME 我尝试使用以下方法sed,但未给出预期的结果。 sed -e 's/\(".*\),\(".*\)/\1 \2/g' 任何快速的运用了sed,awk或者任何其他Unix工具吗?
23 text-processing  sed  awk  csv 

6
命令行友好的电子表格
这样的事情存在吗?基于文本的电子表格可以在CLI环境中很好地显示。我知道我可以cat foobar.csv并且愿意做,但这并不是特别实用或有吸引力。我无法想象设置表格的格式会很困难,也许还要遵循某些规则(算术?)。 Emacs具有org-mode可以很好地处理基于文本的表的功能,并允许导出为多种格式。但是,必须使用Emacs!作为Vim用户,我宁愿避免使用。

3
根据文件的第5列值过滤.CSV文件,并将这些记录打印到新文件中
我有一个.CSV文件,格式如下: "column 1","column 2","column 3","column 4","column 5","column 6","column 7","column 8","column 9","column 10 "12310","42324564756","a simple string with a , comma","string with or, without commas","string 1","USD","12","70%","08/01/2013","" "23455","12312255564","string, with, multiple, commas","string with or, without commas","string 2","USD","433","70%","07/15/2013","" "23525","74535243123","string , with commas, and - hypens and: semicolans","string with or, without commas","string 1","CAND","744","70%","05/06/2013","" "46476","15467534544","lengthy string, with …
16 linux  sed  awk  csv  filter 


8
将单独的行变成带引号的逗号分隔列表
我有以下数据(从Rmarkdown文件解析的R软件包列表),我想将其转换为可传递给R进行安装的列表: d3heatmap data.table ggplot2 htmltools htmlwidgets metricsgraphics networkD3 plotly reshape2 scales stringr 我想将列表变成表单列表: 'd3heatmap', 'data.table', 'ggplot2', 'htmltools', 'htmlwidgets', 'metricsgraphics', 'networkD3', 'plotly', 'reshape2', 'scales', 'stringr' 我目前有一个从原始文件到上面列表的bash管道: grep 'library(' Presentation.Rmd \ | grep -v '#' \ | cut -f2 -d\( \ | tr -d ')' \ | sort | uniq 我想添加一个步骤,将新行变成逗号分隔的列表。我尝试添加tr '\n' …
15 linux  sed  csv  tr 

5
grep匹配后如何计算文件中的行数?
我正在尝试计算csv文件中有问题的行之后的行数。我知道grep -a #在找到匹配项后,可以使用语法输出#行数。我只对实际的行数感兴趣。我意识到我可以将数字设置为MAX_INT,将其传送到文件中并进行更多处理。 我正在寻找简洁的单线飞机,以告诉我人数。 有什么建议么?
14 files  grep  csv 

4
从一个文件中提取数据并基于一个列值将其放置在不同的文件中
我们将生成一个具有以下值的csv文件 yp1234,577,1,3 yp5678,577,3,5 yp9012,132,8,9 我需要提取数据并根据第二列创建文件。如果是577,则必须提取整行并将其放在单独的文件中。我的意思是我需要一个第二行的行单独为577的文件,第二行的行单独为132的文件 我尝试使用IF,但是没有用
14 csv  split 


4
从文本文件中选择在另一个文件中列出ID的行
我在unix shell中使用了很多grep awk排序功能,以处理中等大小(大约10M-100M行)的制表符分隔的列文本文件。在这方面,unix shell是我的电子表格。 但是我有一个巨大的问题,那就是选择具有ID列表的记录。 如果table.csv文件的格式id\tfoo\tbar...和ids.csvID列表相同,请仅从table.csvID中存在的ID中选择记录ids.csv。 一种/programming/13732295/extract-all-lines-from-text-file-based-on-a-given-list-of-ids,但带有shell,而不是perl。 grep -F如果id为可变宽度,显然会产生误报。 join是我永远无法弄清楚的实用程序。首先,它需要按字母顺序排序(我的文件通常按数字排序),但是即使那样,我也无法在不抱怨顺序错误和跳过某些记录的情况下使它起作用。所以我不喜欢它。^id\t当id数量很大时,针对带有-s的文件的grep -f 非常慢。 awk麻烦 有什么好的解决方案吗?制表符分隔文件的任何特定工具?额外的功能也将是最受欢迎的。 UPD:已更正sort->join
13 shell  csv 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.