楽天カードの支払い先一覧を抽出する ~Apache Commons CSV~

Java
この記事は約4分で読めます。

この記事の目標

楽天ゴールドカードのポイント還元率が、2021年4月から通常カードと同等になる。

魅力がなくなったため通常カードへの切り替えを検討しているが、その際クレジットカード番号が変更になるデメリットがある。

そこで楽天カードの支払い先一覧をプログラムで抽出し、少しでも手間を減らしたい。

楽天ゴールドカード サービス改定のご案内
楽天ゴールドカード サービス改定のご案内

手順

Money Forward MEから家計簿データをCSVでダウンロード

Money Forward MEの「家計」タブの最下部にある「家計簿データの出力」から、家計簿データをCSV形式でダウンロードする。

この機能は有料のプレミアム会員しか使えず、月単位でしかダウンロードできない。

月単位のダウンロードが面倒な場合はJavaScriptで実行する方法もある。私は下記の記事を参考にして1年分の家計簿データをダウンロードした。

楽天カードの支払い先一覧を抽出

下記のプログラムを実行して楽天カードの支払い先一覧を抽出した。
[CSVフォルダ名]には先ほどダウンロードしたCSVファイルを格納したフォルダ名を指定する。

import static java.nio.charset.Charset.forName;
import static java.nio.file.Files.newBufferedReader;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashSet;
import java.util.Set;

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;

public class RakutenCardExtractor {
	private static final Path csvFolderPath = Paths.get("[CSVフォルダ名]");
	private static final Set<String> contentsSet = new HashSet<>();

	public static void main(String[] args) throws IOException {
		for (File csvFile : csvFolderPath.toFile().listFiles()) {
			try (BufferedReader br = 
					newBufferedReader(csvFile.toPath(), forName("MS932"));
				 CSVParser parser = 
					CSVFormat.DEFAULT.withFirstRecordAsHeader().parse(br)) {
				for (CSVRecord csvRecord : parser) {
					if ("楽天カード".equals(csvRecord.get("保有金融機関"))) {
						contentsSet.add(csvRecord.get("内容"));
					}
				}
			}
		}

		contentsSet.stream().sorted().forEach(System.out::println);
	}
}

抽出結果

実際の明細は数が多いので抜粋すると、下記の明細が存在した。
電力会社や楽天証券のクレジットカード番号を変更しなければいけないことが分かる。

○○電力 電気料金 20/12
投信積立(楽天証券)

まとめ

プログラムを活用することで、楽天カードの支払い先一覧を素早く抽出することができた。

2021年3月末までは楽天ゴールドカードにお世話になり、特に続報がなければ2021年4月からは通常カードに戻したい。

コメント

タイトルとURLをコピーしました