[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[355] 改行コードを多用したCSVから特定の範囲を抽出したい

こんな表は扱いづらいです [2016/04/18 17:50:52]

お世話になります。

下記のような改行コードを多用したCSVから、
例えば社員コード、氏名、[扶養親族]のブロックだけ抽出したいのですが、行や列にほしい情報がまとまっていないため
難航しております。



━━━━━━━ここから━━━━━━━━━━━

部門部課,111100 第一部門 000100 役員
役職,010 理事
社員コード,000100
フリガナ,サトウ ハナコ
氏名,佐藤 花子
フリガナ,
旧氏名,
入社日,1990/04/01
勤続年数,26年 0ヶ月
退職日,
生年月日,1969/09/21
年齢,46歳 6ヶ月
性別,女
税区分,甲欄
就労状況,在職
休職事由,
国籍,
[住所]
世帯主,佐藤 一平
続柄,夫
郵便番号,123-4567
住所1,東京都世田谷区7-777
住所2,
TEL1,03-12-3456
TEL2,
FAX,
[扶養親族]
氏名,続柄,生年月日,職業,配偶者又は扶養親族,特定扶養年少扶養,障害者等
一平,配偶者,1969/09/21,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
[社会保険]
健康保険証番号,
取得日,
介護保険,対象外
厚生年金整理番号,
基礎年金番号,
取得日,
厚年基金加入員番号,
取得日,
[雇用保険]
被保険者番号,
取得日,

部門部課,201110 第二部門 000100 役員
役職,010 理事
社員コード,000200
フリガナ,スズキ タロウ
氏名,鈴木 太郎
フリガナ,
旧氏名,
入社日,2013/04/01
勤続年数,3年 0ヶ月
退職日,
生年月日,1957/8/16
年齢,58歳 1ヶ月
性別,男
税区分,甲欄
就労状況,在職
休職事由,
国籍,
[住所]
世帯主,鈴木 太郎
続柄,本人
郵便番号,123-4567
住所1,埼玉県さいたま市浦和区1-2-3
住所2,
TEL1,032-46-8765
TEL2,
FAX,
[扶養親族]
氏名,続柄,生年月日,職業,配偶者又は扶養親族,特定扶養年少扶養,障害者等
吉江,配偶者,1957/08/10,,一般,,
理恵,子,1989/10/12,,一般,,
真央,子,2012/09/24,,,年少,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
[社会保険]
健康保険証番号,123
取得日,2013/04/01
介護保険,対象
厚生年金整理番号,123
基礎年金番号,1234-654321
取得日,2013/04/01
厚年基金加入員番号,
取得日,2013/04/01
[雇用保険]
被保険者番号,5432-654321-2
取得日,2013/04/01

━━━━━━━ここまで━━━━━━━━━━━

最終行は改行コードのみでした。
このようなCSVの整形方法を教えて下さい。

Re: [355] 改行コードを多用したCSVから特定の範囲を抽出したい

あすかぜ [2016/04/18 19:36:04]

マクロを書いてみました。

http://www.asukaze.net/soft/cassava/macro/asukaze/bbs355_20160418.cms
上のリンクを右クリックして「対象をファイルに保存」(もしくは「名前を付けてリンク先を保存」)でダウンロードし、Cassava Editor の「Macro」フォルダに置いてください。
[オプション(O)]-[マクロ(M)]-[bbs355_20160418] メニューで実行できます。
(ファイル名を変更した場合メニュー名もかわります)
実行すると、社員コード、氏名、[扶養親族]のブロック以外を編集中のデータから削除します。

よろしくお願いします。

Re: [355] 改行コードを多用したCSVから特定の範囲を抽出したい

こんな表は扱いづらいです [2016/04/19 08:59:36]

期待通りの結果になりました!
ありがとうございます。

Re: [355] 改行コードを多用したCSVから特定の範囲を抽出したい

こんな表は扱いづらいです [2016/04/19 09:44:11]

健康保険証番号や[扶養親族]の欄が、空の場合抽出しないようにすることはできますか?

Re: [355] 改行コードを多用したCSVから特定の範囲を抽出したい

あすかぜ [2016/04/19 22:02:43]

こんな感じでどうでしょうか。
http://www.asukaze.net/soft/cassava/macro/asukaze/bbs355_20160419.cms

Re: [355] 改行コードを多用したCSVから特定の範囲を抽出したい

こんな表は扱いづらいです [2016/04/20 10:29:15]

早速有り難うございます。
余白がかなり減ってイメージに近づきました。

サンプルデータの一人目の[扶養親族]を空にして実行してみました。

━━━━━━━ここから━━━━━━━━━━━
部門部課,111100,第一部門,000100,役員,,,
役職,010,理事,,,,,
社員コード,000100,,,,,,
フリガナ,サトウ,ハナコ,,,,,
氏名,佐藤,花子,,,,,
フリガナ,,,,,,,
旧氏名,,,,,,,
入社日,1990/04/01,,,,,,
勤続年数,26年,0ヶ月,,,,,
退職日,,,,,,,
生年月日,1969/09/21,,,,,,
年齢,46歳,6ヶ月,,,,,
性別,女,,,,,,
税区分,甲欄,,,,,,
就労状況,在職,,,,,,
休職事由,,,,,,,
国籍,,,,,,,
[住所],,,,,,,
世帯主,佐藤 一平,,,,,,
続柄,夫,,,,,,
郵便番号,123-4567,,,,,,
住所1,東京都世田谷区7-777,,,,,,
住所2,,,,,,,
TEL1,03-12-3456,,,,,,
TEL2,,,,,,,
FAX,,,,,,,
[扶養親族],,,,,,,
氏名,続柄,生年月日,職業,配偶者又は扶養親族,特定扶養年少扶養,障害者等,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
[社会保険],,,,,,,
健康保険証番号,,,,,,,
取得日,,,,,,,
介護保険,対象外,,,,,,
厚生年金整理番号,,,,,,,
基礎年金番号,,,,,,,
取得日,,,,,,,
厚年基金加入員番号,,,,,,,
取得日,,,,,,,
[雇用保険],,,,,,,
被保険者番号,,,,,,,
取得日,,,,,,,
,,,,,,,
部門部課,201110,第二部門,000100,役員,,,
役職,010,理事,,,,,
社員コード,000200,,,,,,
フリガナ,スズキ,タロウ,,,,,
氏名,鈴木,太郎,,,,,
フリガナ,,,,,,,
旧氏名,,,,,,,
入社日,2013/04/01,,,,,,
勤続年数,3年,0ヶ月,,,,,
退職日,,,,,,,
生年月日,1957/8/16,,,,,,
年齢,58歳,1ヶ月,,,,,
性別,男,,,,,,
税区分,甲欄,,,,,,
就労状況,在職,,,,,,
休職事由,,,,,,,
国籍,,,,,,,
[住所],,,,,,,
世帯主,鈴木 太郎,,,,,,
続柄,本人,,,,,,
郵便番号,123-4567,,,,,,
住所1,埼玉県さいたま市浦和区1-2-3,,,,,,
住所2,,,,,,,
TEL1,032-46-8765,,,,,,
TEL2,,,,,,,
FAX,,,,,,,
[扶養親族],,,,,,,
氏名,続柄,生年月日,職業,配偶者又は扶養親族,特定扶養年少扶養,障害者等,
吉江,配偶者,1957/08/10,,一般,,,
理恵,子,1989/10/12,,一般,,,
真央,子,2012/09/24,,,年少,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
[社会保険],,,,,,,
健康保険証番号,123,,,,,,
取得日,2013/04/01,,,,,,
介護保険,対象,,,,,,
厚生年金整理番号,123,,,,,,
基礎年金番号,1234-654321,,,,,,
取得日,2013/04/01,,,,,,
厚年基金加入員番号,,,,,,,
取得日,2013/04/01,,,,,,
[雇用保険],,,,,,,
被保険者番号,5432-654321-2,,,,,,
取得日,2013/04/01,,,,,,
,,,,,,,
,,,,,,,
━━━━━━━ここまで━━━━━━━━━━━

期待しておりました出力結果は、[扶養親族]が空の
佐藤 花子さんは削除され、[扶養親族]がいる鈴木 太郎さんが抽出されるというものでした。


社員コード,000100,,,,,,
氏名,佐藤,花子,,,,,
[扶養親族],,,,,,,
氏名,続柄,生年月日,職業,配偶者又は扶養親族,特定扶養年少扶養,障害者等,
社員コード,000200,,,,,,
氏名,鈴木,太郎,,,,,
[扶養親族],,,,,,,
氏名,続柄,生年月日,職業,配偶者又は扶養親族,特定扶養年少扶養,障害者等,
吉江,配偶者,1957/08/10,,一般,,,
理恵,子,1989/10/12,,一般,,,
真央,子,2012/09/24,,,年少,,
,,,,,,,

[扶養親族]のいる人が出力された際に、社員コードの前に1行
余白が入っていると作業が捗りますがいかがでしょうか?

━━━━━━━理想のイメージ━━━━━━━━━━━
社員コード,000100,,,,,,
氏名,佐藤,花子,,,,,
[扶養親族],,,,,,,
氏名,続柄,生年月日,職業,配偶者又は扶養親族,特定扶養年少扶養,障害者等,
一平,配偶者,1969/09/21,,,,,
,,,,,,,
社員コード,000200,,,,,,
氏名,鈴木,太郎,,,,,
[扶養親族],,,,,,,
氏名,続柄,生年月日,職業,配偶者又は扶養親族,特定扶養年少扶養,障害者等,
吉江,配偶者,1957/08/10,,一般,,,
理恵,子,1989/10/12,,一般,,,
真央,子,2012/09/24,,,年少,,
,,,,,,,

Re: [355] 改行コードを多用したCSVから特定の範囲を抽出したい

あすかぜ [2016/04/20 22:28:22]

そもそもこの表の形が扱いづらいということだったので、表の形を変えるマクロを書いてみました。
http://www.asukaze.net/soft/cassava/macro/asukaze/bbs355_20160420.cms

これを最初にいただいたサンプルに適用すると、次のような形に変形します。

,,,,,,,,,,,,,,,,[住所],,,,,,,,[扶養親族],,,,,,,[社会保険],,,,,,[雇用保険],
部門部課,役職,社員コード,フリガナ,氏名,旧氏名,入社日,勤続年数,退職日,生年月日,年齢,性別,税区分,就労状況,休職事由,国籍,世帯主,続柄,郵便番号,住所1,住所2,TEL1,TEL2,FAX,氏名,続柄,生年月日,職業,配偶者又は扶養親族,特定扶養年少扶養,障害者等,健康保険証番号,取得日,介護保険,厚生年金整理番号,基礎年金番号,厚年基金加入員番号,被保険者番号,取得日
111100 第一部門 000100 役員,010 理事,000100,,佐藤 花子,,1990/04/01,26年 0ヶ月,,1969/09/21,46歳 6ヶ月,女,甲欄,在職,,,佐藤 一平,夫,123-4567,東京都世田谷区7-777,,03-12-3456,,,一平,配偶者,1969/09/21,,,,,,,対象外,,,,,
201110 第二部門 000100 役員,010 理事,000200,,鈴木 太郎,,2013/04/01,3年 0ヶ月,,1957/8/16,58歳 1ヶ月,男,甲欄,在職,,,鈴木 太郎,本人,123-4567,埼玉県さいたま市浦和区1-2-3,,032-46-8765,,,吉江,配偶者,1957/08/10,,一般,,,123,2013/04/01,対象,123,1234-654321,,5432-654321-2,2013/04/01
,,,,,,,,,,,,,,,,,,,,,,,,理恵,子,1989/10/12,,一般,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,真央,子,2012/09/24,,,年少,,,,,,,,,

各列に特定のデータが入るように変形すれば処理が楽になるのではないでしょうか?
(本物のデータで正しく動くかわかりませんが。。。)

Re: [355] 改行コードを多用したCSVから特定の範囲を抽出したい

こんな表は扱いづらいです [2016/04/21 14:49:15]

実際のデータに適用してみて鳥肌が立ちました。

おかげさまで、作業が大幅に捗ります。
ありがとうございました。

スレッド一覧に戻る返信