我有这样的csv,
type,name,ad1,pin,ph
"A","aaaaa","23 rd.","45789","4578954"
"F","bbbbb","23 rd.","84789","4578954"
"D","ccccc","34 rd.","45646","7845663"
这需要格式化为这样的纯文本文件。
type
name
ad1, PIN-pin
PH: ph
所以最终输出将是这样。
A
aaaaa
23 rd., PIN- 45789,
PH: 4578954
F
bbbbb
23 rd. PIN-84789
PH:4578954
D
ccccc
34 rd., PIN-45646
PH: 7845663
是否可以在csvkit中实现此目的。
答案 0 :(得分:1)
您可以使用Miller(https://github.com/johnkerl/miller/releases/tag/5.4.0):
<body>
拥有
<head>
一些注意事项:
Connection.prepareStatement
将CSV转换为XTAB(http://johnkerl.org/miller/doc/file-formats.html#XTAB:_Vertical_tabular); executeQuery(String)
将制表符设置为对分隔符executeQuery()
以所需的方式设置字段(我创建了4个新字段,分别名为1、2、3和4)mlr --c2x --ops "\t" put '$1=$type;$2=$name;$3=($ad1 . ", PIN-" . $pin);$4=("PH: " . $ph)' \
then cut -r -f "^[0-9]" input.csv | \
cut -f2
(在管道之前)以删除除1、2、3和4以外的所有字段A
aaaaa
23 rd., PIN-45789
PH: 4578954
F
bbbbb
23 rd., PIN-84789
PH: 4578954
D
ccccc
34 rd., PIN-45646
PH: 7845663
个删除字段名称