5.59. mtab2csv TSVからCSVデータへの変換

タブ区切りデータをCSVデータへ変換する。 d= で区切り文字を指定することで、タブ以外の区切り文字のテキストデータも 変換することが可能である。 変換後の項目数に違いある場合には、その直前行まで出力され、 その後エラー終了する。

パラメータ

i= : 型=str , 任意(default=標準入力)

入力データを指定する。

o= : 型=str , 任意(default=標準出力)

出力データを指定する。

d= : 型=str , 任意(default=)

区切り文字の指定(1バイト文字のみ指定可)。

r= : 型=bool , 任意(default=False)

改行コード(CR: \r )を取り除く。
MCMDが扱うCSVは改行コードがLF( \n )固定であるため、
Windowsのテキスト改行CR+LF( \r\n )やMacのテキスト改行CR( \r )があれば、
単なる文字列として扱ってしまい、変換後に不具合が生じる。
この問題を回避するためのオプションである。

共通パラメータ

i= , o= , assert_diffSize= , nfn= , nfno= , x= , tmppath= , precision=

利用例

importと入力データ(CSV)の準備

 1import nysol.mcmd as nm
 2
 3with open('dat1.tab','w') as f:
 4  f.write(
 5'''id       data    data2
 6A   1102    a
 7A   2203    aaa
 8B   1155    bbbb
 9B   3104    c
10B   1206    de
11''')
12
13with open('dat2.bar','w') as f:
14  f.write(
15'''id-data-data2
16A-1102-a
17A-2203-aaa
18B-1155-bbbb
19B-3104-c
20B-1206-de
21''')

基本例

タブ区切りデータをcsvへ変換

1nm.mtab2csv(i="dat1.tab", o="rsl1.csv").run()
2### rsl1.csv の内容
3# id,data,data2
4# A,1102,a
5# A,2203,aaa
6# B,1155,bbbb
7# B,3104,c
8# B,1206,de

d=指定

d= を使用してtab以外の区切り文字を使う

1nm.mtab2csv(d="-", i="dat2.bar", o="rsl2.csv").run()
2### rsl2.csv の内容
3# id,data,data2
4# A,1102,a
5# A,2203,aaa
6# B,1155,bbbb
7# B,3104,c
8# B,1206,de