8.15. cat 文字列併合¶
書式1: cat(token,str_1,str_2,...)
\(token\) を区切り文字として、指定された \(str_i\) をその順番に併合して一つの文字列を生成する。
\(token\) として空文字 ""
を指定すれば、文字列の単純な結合となる。
利用例¶
importと入力データ(CSV)の準備
1import nysol.mcmd as nm 2 3with open('dat1.csv','w') as f: 4 f.write( 5'''id,str1,str2,str3 61,abc,def,ghi 72,A,,CDE 83,,, 94,,,XY 10''')
基本例
3つの項目str1,str2,str3を "#"
の区切り文字を挿入して併合する。
1nm.mcal(c='cat("#",$s{str1},$s{str2},$s{str3})', a='rsl', i="dat1.csv", o="rsl1.csv").run() 2### rsl1.csv の内容 3# id,str1,str2,str3,rsl 4# 1,abc,def,ghi,abc#def#ghi 5# 2,A,,CDE,A##CDE 6# 3,,,,## 7# 4,,,XY,##XY
tokenが空文字の場合
1nm.mcal(c='cat("",$s{str1},$s{str2},$s{str3})', a='rsl', i="dat1.csv", o="rsl2.csv").run() 2### rsl2.csv の内容 3# id,str1,str2,str3,rsl 4# 1,abc,def,ghi,abcdefghi 5# 2,A,,CDE,ACDE 6# 3,,,, 7# 4,,,XY,XY
ワイルドカードを利用した例
str
から始まる項目( str1,str2,str3
)をワイルドカード「 str*
」によって指定している。
1nm.mcal(c='cat("",$s{str*})', a='rsl', i="dat1.csv", o="rsl3.csv").run() 2### rsl3.csv の内容 3# id,str1,str2,str3,rsl 4# 1,abc,def,ghi,abcdefghi 5# 2,A,,CDE,ACDE 6# 3,,,, 7# 4,,,XY,XY