システム開発<基本編>Pythonでファイルの操作(JSON→CSV, JSON→TSV)

Python

前回の記事では、「百人一首」CSVファイル読み込みJSONファイル書き込みを行う

処理を紹介しました。

今回は逆のファイル操作として、JSONファイル読み込みCSVファイルTSVファイル

書き込みを行う処理を紹介しようと思います。

 

JSONファイルの読み込み

JSONファイル読み込むには、jsonモジュールload()メソッドを利用する場合と

loads()メソッドを利用する場合が有ります。

2つのメソッドloadの部分が似ているので、少し混乱しそうですが、末尾に、sの文字が付いて

いるかどうかで、区別をしておきます。

  • load()メソッドJSONファイル読み込みdict(辞書)型にします。引数は、ファイル(ストリーム)になります。
  • loads()メソッドJSONテキストを、dict(辞書)型にします。引数は、str型(文字列)になります。

 

JSONファイルの読み込み処理:json.load()

前回の記事で、CSVファイル読み込み処理で利用した書き方と同様に、JSONファイル

読み込みには、with文を利用して、openメソッドで、モード:‘r’文字コード:UTF-8

指定して、load()メソッドで処理をします。

下記は、load()メソッドでのソース例になります。

読み込みに利用するJSONファイルは、前回の記事で生成した「百人一首」です。

 



import json
import gc # メモリ処理
from datetime import datetime as dt
import time

in_file = "./data/poem_kanji_kana_utf-8.json"

json_load = {}

try:
    # 開始時間
    start_time = time.time()

    print("処理開始日時:", dt.now().strftime('%Y/%m/%d %H:%M:%S'))
    print("----------------------------------")
  
    # ファイルを読み込み
    with open(in_file, mode='r', encoding='utf-8-sig') as fp:
        json_load = json.load(fp)

        # 読み出したデータを表示
        for j in json_load:
            print(j)
            print("----------------------------------")
            
    # 初期化
    json_load = {}

    # 終了時間
    end_time = time.time()

    # 差分
    diff_time = end_time - start_time

    print("----------------------------------")
    print("処理終了日時:", dt.now().strftime('%Y/%m/%d %H:%M:%S'))
    print("----------------------------------")
    print("処理時間:", diff_time , "秒")
    print("----------------------------------")

    print("Read Poem JSON Data Succesfully")
    print("----------------------------------")

except KeyboardInterrupt:
    gc.collect()

finally:
    gc.collect()

 

 

 

JSONファイルの読み込み実行例:1

実際にソースを起動して、JSONファイルを読み込んでみましょう。

作成したソース画面上の上部のタブメニューより、Run → Run Module を選択して、

ソースを起動します。

 

実行結果は、以下の通りです。

最下位まで、スクロールします。

全角スペースの箇所は、\u3000 で表示されています。

 

JSONファイルの読み込み処理:json.loads()

上記のload()メソッドで利用した書き方と同様に、JSONファイル読み込みには、

with文を利用して、openメソッドで、モード:‘r’文字コード:UTF-8を指定して、

loads()メソッドで処理をします。

下記は、loads()メソッドでのソース例になります。

読み込みに利用するJSONファイルは、上記のload()メソッド同様に「百人一首」です。

 



import json
import gc # メモリ処理
from datetime import datetime as dt
import time

in_file = "./data/poem_kanji_kana_utf-8.json"

json_data = ""
json_loads = {}

try:
    # 開始時間
    start_time = time.time()

    print("処理開始日時:", dt.now().strftime('%Y/%m/%d %H:%M:%S'))
    print("----------------------------------")
  
    # ファイルを読み込み
    with open(in_file, mode='r', encoding='utf-8-sig') as fp:
        json_data = fp.read()
        json_loads = json.loads(json_data)

        # 読み出したデータを表示
        for j in json_loads:
            print(j)
            print("----------------------------------")

    # 初期化
    json_data = ""
    json_loads = {}

    # 終了時間
    end_time = time.time()

    # 差分
    diff_time = end_time - start_time

    print("----------------------------------")
    print("処理終了日時:", dt.now().strftime('%Y/%m/%d %H:%M:%S'))
    print("----------------------------------")
    print("処理時間:", diff_time , "秒")
    print("----------------------------------")

    print("Read Poem JSON Data Succesfully")
    print("----------------------------------")

except KeyboardInterrupt:
    gc.collect()

finally:
    gc.collect()

 

JSONファイルの読み込み実行例:2

load()メソッドでの読み込み処理と同様に、実際にソースを起動して、loads()メソッド

JSONファイルを読み込んでみましょう。

作成したソース画面上の上部のタブメニューより、Run → Run Module を選択して、

ソースを起動します。

 

実行結果は、以下の通りです。

最下位まで、スクロールします。

全角スペースの箇所は、\u3000 で表示されています。

 

ファイルへの書き込み

JSONファイル読み込み処理が出来ましたので、続けてファイルへの書き込み処理

行ってみます。

 

CSVファイルへの書き込み

先ずは、CSVファイルへの書き込み処理を行います。

Pythonで、CSVファイルを扱う場合は、csvモジュールをインポートします。

前回の記事で、CSVファイル読み込み処理で利用した書き方と同様に、CSVファイルへの

書き込み処理には、with文を利用して、openメソッドで、モード:‘w’

文字コード:UTF-8を指定します。

辞書データ書き込むには、csv.DictWriter() クラスを使用します。

writeheader()メソッドを利用する事で、フィールド名ヘッダーとして書き込みます。

行の書き込みは 、writerow()メソッド で、引数辞書データを指定します。

下記は、CSVファイルへの書き込み処理のソース例になります。


import json
import csv
import gc # メモリ処理
from datetime import datetime as dt
import time

in_file = "./data/poem_kanji_kana_utf-8.json"

out_file = "./data/poem_kanji_kana_utf-8.csv"

json_load = {}

try:
    # 開始時間
    start_time = time.time()

    print("処理開始日時:", dt.now().strftime('%Y/%m/%d %H:%M:%S'))
    print("----------------------------------")

    # ファイルを読み込み
    with open(in_file, mode='r', encoding='utf-8-sig') as fp:
        
        json_load = json.load(fp)

    # CSVファイル出力
    with open(out_file, mode='w', encoding='utf-8', newline='') as fp:
        
        writer = csv.DictWriter(
            fp,
            delimiter=',',
            fieldnames=json_load[0].keys(),
            doublequote=False
            )

        writer.writeheader()

        writer.writerows(json_load)

    # 初期化
    json_load = {}

    # 終了時間
    end_time = time.time()

    # 差分
    diff_time = end_time - start_time

    print("処理終了日時:", dt.now().strftime('%Y/%m/%d %H:%M:%S'))
    print("----------------------------------")
    print("処理時間:", diff_time , "秒")
    print("----------------------------------")

    print("Read Poem JSON Data -> Write CSV Data Succesfully")
    print("----------------------------------")

except KeyboardInterrupt:
    gc.collect()

finally:
    gc.collect()

CSVファイル書き込みについて、通常、csv.writer() メソッドを利用します。

今回は、JSONファイルを読み込んで、dict(辞書)型にしていますので、

csv.DictWriter() メソッドを利用します。

csv.DictWriter() メソッドは、csv.writer() メソッド継承しているので、

csv.writer() の引数は、そのまま利用可能です。

  • 第一引数:書き込み用ファイル(fp)を指定
  • 第二引数:フィールドの区切り文字を、delimiter で指定します。今回は、CSVファイル書き込みなので、‘,’(半角カンマ)を指定しています。
  • 第三引数:CSV ファイルフィールド名を指定します。json_dict[0] で、dict(辞書)1番目の要素を抜き取り、keys() でキー情報を取得しています。
  • 第四引数:各データを書き込む際に、””(ダブルクォーテーション)で囲むかどうか指定します。今回は、””(ダブルクォーテーション)で囲まずに書き込むので、Falseを指定しています。

 

CSVファイルへの書き込み実行例

実際にソースを起動して、CSVファイル書き込みをしてみましょう。

作成したソース画面上の上部のタブメニューより、Run → Run Module を選択して、

ソースを起動します。

 

実行結果は、以下の通りです。

 

出力したCSVファイルを、開いてみましょう。

1行目に、ヘッダー情報として、JSONファイルの要素名が記載されている事が確認出来ます。

最下位まで、スクロールします。

100首の「百人一首」データが、書き込まれている事が確認出来ました。

 

実際に出力したCSVファイルも紹介しておきます。

poem_no,poem_kanji,poem_kana,poem_writer,create_datetime,create_unixtime
1,秋の田の かりほの庵の 苫をあらみ わが衣手は 露にぬれつつ,あきのたの かりほのいほの とまをあらみ わがころもでは つゆにぬれつつ,天智天皇,2025/08/27 14:35:39,1756272939.599317
2,春すぎて 夏来にけらし 白妙の 衣ほすてふ 天の香具山,はるすぎて なつきにけらし しろたへの ころもほすてふ あまのかぐやま,持統天皇,2025/08/27 14:35:39,1756272939.599344
3,あしびきの 山鳥の尾の しだり尾の ながながし夜を ひとりかも寝む,あしびきの やまどりのをの しだりをの ながながしよを ひとりかもねむ,柿本人麻呂,2025/08/27 14:35:39,1756272939.5993638
4,田子の浦に うち出でてみれば 白妙の 富士の高嶺に 雪は降りつつ,たごのうらに うちいでてみれば しろたへの ふじのたかねに ゆきはふりつつ,山部赤人,2025/08/27 14:35:39,1756272939.5993774
5,奥山に 紅葉踏みわけ 鳴く鹿の 声きく時ぞ 秋は悲しき,おくやまに もみぢふみわけ なくしかの こゑきくときぞ あきはかなしき,猿丸大夫,2025/08/27 14:35:39,1756272939.5993924
6,かささぎの 渡せる橋に おく霜の 白きをみれば 夜ぞふけにける,かささぎの わたせるはしに おくしもの しろきをみれば よぞふけにける,中納言家持,2025/08/27 14:35:39,1756272939.5994184
7,天の原 ふりさけ見れば 春日なる 三笠の山に 出でし月かも,あまのはら ふりさけみれば かすがなる みかさのやまに いでしつきかも,安倍仲麿,2025/08/27 14:35:39,1756272939.5994327
8,わが庵は 都のたつみ しかぞすむ 世をうぢ山と 人はいふなり,わがいほは みやこのたつみ しかぞすむ よをうぢやまと ひとはいふなり,喜撰法師,2025/08/27 14:35:39,1756272939.599445
9,花の色は うつりにけりな いたづらに わが身世にふる ながめせしまに,はなのいろは うつりにけりな いたづらに わがみよにふる ながめせしまに,小野小町,2025/08/27 14:35:39,1756272939.5994575
10,これやこの 行くも帰るも 別れては 知るも知らぬも 逢坂の関,これやこの ゆくもかへるも わかれては しるもしらぬも あふさかのせき,蝉丸,2025/08/27 14:35:39,1756272939.59947
11,わたの原 八十島かけて 漕ぎ出でぬと 人には告げよ 海人の釣舟,わたのはら やそしまかけて こぎいでぬと ひとにはつげよ あまのつりぶね,参議篁,2025/08/27 14:35:39,1756272939.5994825
12,天つ風 雲の通ひ路 吹き閉ぢよ をとめの姿 しばしとどめむ,あまつかぜ くものかよひぢ ふきとぢよ をとめのすがた しばしとどめむ,僧正遍照,2025/08/27 14:35:39,1756272939.5994956
13,筑波嶺の 峰より落つる 男女川 恋ぞつもりて 淵となりぬる,つくばねの みねよりおつる みなのがは こひぞつもりて ふちとなりぬる,陽成院,2025/08/27 14:35:39,1756272939.5995088
14,陸奥の しのぶもぢずり 誰ゆゑに 乱れそめにし われならなくに,みちのくの しのぶもぢずり たれゆゑに みだれそめにし われならなくに,河原左大臣,2025/08/27 14:35:39,1756272939.5995216
15,君がため 春の野に出でて 若菜つむ わが衣手に 雪は降りつつ,きみがため はるののにいでて わかなつむ わがころもでに ゆきはふりつつ,光孝天皇,2025/08/27 14:35:39,1756272939.5995345
16,たち別れ いなばの山の 峰に生ふる まつとし聞かば 今帰り来む,たちわかれ いなばのやまの みねにおふる まつとしきかば いまかへりこむ,中納言行平,2025/08/27 14:35:39,1756272939.5995462
17,ちはやぶる 神代も聞かず 竜田川 からくれなゐに 水くくるとは,ちはやぶる かみよもきかず たつたがは からくれなゐに みづくくるとは,在原業平朝臣,2025/08/27 14:35:39,1756272939.5995576
18,住の江の 岸による波 よるさへや 夢の通ひ路 人めよくらむ,すみのえの きしによるなみ よるさへや ゆめのかよひぢ ひとめよくらむ,藤原敏行朝臣,2025/08/27 14:35:39,1756272939.5995705
19,難波潟 みじかき芦の ふしの間も 逢はでこの世を 過ぐしてよとや,なにはがた みじかきあしの ふしのまも あはでこのよを すぐしてよとや,伊勢,2025/08/27 14:35:39,1756272939.5995831
20,わびぬれば 今はた同じ 難波なる みをつくしても 逢はむとぞ思ふ,わびぬれば いまはたおなじ なにはなる みをつくしても あはむとぞおもふ,元良親王,2025/08/27 14:35:39,1756272939.5995975
21,今来むと 言ひしばかりに 長月の 有明の月を 待ち出でつるかな,いまこむと いひしばかりに ながつきの ありあけのつきを まちいでつるかな,素性法師,2025/08/27 14:35:39,1756272939.5996106
22,吹くからに 秋の草木の しをるれば むべ山風を 嵐といふらむ,ふくからに あきのくさきの しをるれば むべやまかぜを あらしといふらむ,文屋康秀,2025/08/27 14:35:39,1756272939.599624
23,月見れば ちぢにものこそ 悲しけれ わが身一つの 秋にはあらねど,つきみれば ちぢにものこそ かなしけれ わがみひとつの あきにはあらねど,大江千里,2025/08/27 14:35:39,1756272939.5996356
24,このたびは ぬさもとりあへず 手向山 紅葉の錦 神のまにまに,このたびは ぬさもとりあへず たむけやま もみぢのにしき かみのまにまに,菅家,2025/08/27 14:35:39,1756272939.5996478
25,名にしおはば 逢坂山の さねかづら 人にしられで くるよしもがな,なにしおはば あふさかやまの さねかづら ひとにしられで くるよしもがな,三条右大臣,2025/08/27 14:35:39,1756272939.59966
26,小倉山 峰のもみぢ葉 心あらば 今ひとたびの みゆき待たなむ,をぐらやま みねのもみぢば こころあらば いまひとたびの みゆきまたなむ,貞信公,2025/08/27 14:35:39,1756272939.599675
27,みかの原 わきて流るる 泉川 いつ見きとてか 恋しかるらむ,みかのはら わきてながるる いづみがは いつみきとてか こひしかるらむ,中納言兼輔,2025/08/27 14:35:39,1756272939.5996876
28,山里は 冬ぞさびしさ まさりける 人目も草も かれぬと思へば,やまざとは ふゆぞさびしさ まさりける ひとめもくさも かれぬとおもへば,源宗于朝臣,2025/08/27 14:35:39,1756272939.5996995
29,心あてに 折らばや折らむ 初霜の 置きまどはせる 白菊の花,こころあてに をらばやをらむ はつしもの おきまどはせる しらぎくのはな,凡河内躬恒,2025/08/27 14:35:39,1756272939.5997126
30,有明の つれなく見えし 別れより あかつきばかり 憂きものはなし,ありあけの つれなくみえし わかれより あかつきばかり うきものはなし,壬生忠岑,2025/08/27 14:35:39,1756272939.5997272
31,朝ぼらけ 有明の月と 見るまでに 吉野の里に 降れる白雪,あさぼらけ ありあけのつきと みるまでに よしののさとに ふれるしらゆき,坂上是則,2025/08/27 14:35:39,1756272939.5997388
32,山川に 風のかけたる しがらみは 流れもあへぬ 紅葉なりけり,やまがはに かぜのかけたる しがらみは ながれもあへぬ もみぢなりけり,春道列樹,2025/08/27 14:35:39,1756272939.599751
33,ひさかたの 光のどけき 春の日に 静心なく 花の散るらむ,ひさかたの ひかりのどけき はるのひに しづごころなく はなのちるらむ,紀友則,2025/08/27 14:35:39,1756272939.5997627
34,誰をかも 知る人にせむ 高砂の 松も昔の 友ならなくに,たれをかも しるひとにせむ たかさごの まつもむかしの ともならなくに,藤原興風,2025/08/27 14:35:39,1756272939.5997784
35,人はいさ 心も知らず ふるさとは 花ぞ昔の 香ににほひける,ひとはいさ こころもしらず ふるさとは はなぞむかしの かににほひける,紀貫之,2025/08/27 14:35:39,1756272939.5997915
36,夏の夜は まだ宵ながら 明けぬるを 雲のいづこに 月宿るらむ,なつのよは まだよひながら あけぬるを くものいづこに つきやどるらむ,清原深養父,2025/08/27 14:35:39,1756272939.599806
37,白露に 風の吹きしく 秋の野は つらぬきとめぬ 玉ぞ散りける,しらつゆに かぜのふきしく あきののは つらぬきとめぬ たまぞちりける,文屋朝康,2025/08/27 14:35:39,1756272939.5998204
38,忘らるる 身をば思はず 誓ひてし 人の命の 惜しくもあるかな,わすらるる みをばおもはず ちかひてし ひとのいのちの をしくもあるかな,右近,2025/08/27 14:35:39,1756272939.5999377
39,浅茅生の 小野の篠原 しのぶれど あまりてなどか 人の恋しき,あさぢふの をののしのはら しのぶれど あまりてなどか ひとのこひしき,参議等,2025/08/27 14:35:39,1756272939.5999594
40,しのぶれど 色に出でにけり わが恋は 物や思ふと 人の問ふまで,しのぶれど いろにいでにけり わがこひは ものやおもふと ひとのとふまで,平兼盛,2025/08/27 14:35:39,1756272939.5999715
41,恋すてふ わが名はまだき 立ちにけり 人知れずこそ 思ひそめしか,こひすてふ わがなはまだき たちにけり ひとしれずこそ おもひそめしか,壬生忠見,2025/08/27 14:35:39,1756272939.5999844
42,契りきな かたみに袖を しぼりつつ 末の松山 波越さじとは,ちぎりきな かたみにそでを しぼりつつ すゑのまつやま なみこさじとは,清原元輔,2025/08/27 14:35:39,1756272939.5999966
43,逢ひ見ての のちの心に くらぶれば 昔は物を 思はざりけり,あひみての のちのこころに くらぶれば むかしはものを おもはざりけり,権中納言敦忠,2025/08/27 14:35:39,1756272939.6000085
44,逢ふことの 絶えてしなくは なかなかに 人をも身をも 恨みざらまし,あふことの たえてしなくは なかなかに ひとをもみをも うらみざらまし,中納言朝忠,2025/08/27 14:35:39,1756272939.60002
45,あはれとも いふべき人は 思ほえで 身のいたづらに なりぬべきかな,あはれとも いふべき人は 思ほえで 身のいたづらに なりぬべきかな,謙徳公,2025/08/27 14:35:39,1756272939.6000342
46,由良のとを 渡る舟人 かぢを絶え ゆくへも知らぬ 恋の道かな,ゆらのとを わたるふなびと かぢをたえ ゆくへもしらぬ こひのみちかな,曾禰好忠,2025/08/27 14:35:39,1756272939.600046
47,八重葎 しげれる宿の さびしきに 人こそ見えね 秋は来にけり,やへむぐら しげれるやどの さびしきに ひとこそみえね あきはきにけり,恵慶法師,2025/08/27 14:35:39,1756272939.600059
48,風をいたみ 岩うつ波の おのれのみ くだけて物を 思ふころかな,かぜをいたみ いはうつなみの おのれのみ くだけてものを おもふころかな,源重之,2025/08/27 14:35:39,1756272939.6000721
49,みかきもり 衛士のたく火の 夜は燃え 昼は消えつつ 物をこそ思へ,みかきもり ゑじのたくひの よるはもえ ひるはきえつつ ものをこそおもへ,大中臣能宣,2025/08/27 14:35:39,1756272939.6000843
50,君がため 惜しからざりし 命さへ 長くもがなと 思ひけるかな,きみがため をしからざりし いのちさへ ながくもがなと おもひけるかな,藤原義孝,2025/08/27 14:35:39,1756272939.6000955
51,かくとだに えやはいぶきの さしも草 さしも知らじな 燃ゆる思ひを,かくとだに えやはいぶきの さしもぐさ さしもしらじな もゆるおもひを,藤原実方朝臣,2025/08/27 14:35:39,1756272939.6001103
52,明けぬれば 暮るるものとは 知りながら なほうらめしき 朝ぼらけかな,あけぬれば くるるものとは しりながら なほうらめしき あさぼらけかな,藤原道信朝臣,2025/08/27 14:35:39,1756272939.6001225
53,嘆きつつ ひとり寝る夜の 明くる間は いかに久しき ものとかは知る,なげきつつ ひとりぬるよの あくるまは いかにひさしき ものとかはしる,右大将道綱母,2025/08/27 14:35:39,1756272939.6001334
54,忘れじの 行く末までは かたければ 今日を限りの 命ともがな,わすれじの ゆくすゑまでは かたければ けふをかぎりの いのちともがな,儀同三司母,2025/08/27 14:35:39,1756272939.6001453
55,滝の音は 絶えて久しく なりぬれど 名こそ流れて なほ聞こえけれ,たきのおとは たえてひさしく なりぬれど なこそながれて なほきこえけれ,大納言公任,2025/08/27 14:35:39,1756272939.600157
56,あらざらむ この世のほかの 思ひ出に 今ひとたびの 逢ふこともがな,あらざらむ このよのほかの おもひでに いまひとたびの あふこともがな,和泉式部,2025/08/27 14:35:39,1756272939.6001685
57,めぐりあひて 見しやそれとも わかぬ間に 雲がくれにし 夜半の月かな,めぐりあひて みしやそれとも わかぬまに くもがくれにし よはのつきかな,紫式部,2025/08/27 14:35:39,1756272939.6001794
58,有馬山 猪名の笹原 風吹けば いでそよ人を 忘れやはする,ありまやま ゐなのささはら かぜふけば いでそよひとを わすれやはする,大弐三位,2025/08/27 14:35:39,1756272939.6001923
59,やすらはで 寝なましものを さ夜更けて かたぶくまでの 月を見しかな,やすらはで ねなましものを さよふけて かたぶくまでの つきをみしかな,赤染衛門,2025/08/27 14:35:39,1756272939.6002038
60,大江山 いく野の道の 遠ければ まだふみもみず 天の橋立,おほえやま いくののみちの とほければ まだふみもみず あまのはしだて,小式部内侍,2025/08/27 14:35:39,1756272939.6002162
61,いにしへの 奈良の都の 八重桜 けふ九重に にほひぬるかな,いにしへの ならのみやこの やへざくら けふここのへに にほひぬるかな,伊勢大輔,2025/08/27 14:35:39,1756272939.600228
62,夜をこめて 鳥のそらねは はかるとも よに逢坂の 関はゆるさじ,よをこめて とりのそらねは はかるとも よにあふさかの せきはゆるさじ,清少納言,2025/08/27 14:35:39,1756272939.600239
63,今はただ 思ひ絶えなむ とばかりを 人づてならで 言ふよしもがな,いまはただ おもひたえなむ とばかりを ひとづてならで いふよしもがな,左京大夫道雅,2025/08/27 14:35:39,1756272939.600252
64,朝ぼらけ 宇治の川霧 たえだえに あらはれわたる 瀬々の網代木,あさぼらけ うぢのかはぎり たえだえに あらはれわたる せぜのあじろぎ,権中納言定頼,2025/08/27 14:35:39,1756272939.6002634
65,恨みわび ほさぬ袖だに あるものを 恋に朽ちなむ 名こそ惜しけれ,うらみわび ほさぬそでだに あるものを こひにくちなむ なこそをしけれ,相模,2025/08/27 14:35:39,1756272939.6002772
66,もろともに あはれと思へ 山桜 花よりほかに 知る人もなし,もろともに あはれとおもへ やまざくら はなよりほかに しるひともなし,前大僧正行尊,2025/08/27 14:35:39,1756272939.6002922
67,春の夜の 夢ばかりなる 手枕に かひなく立たむ 名こそ惜しけれ,はるのよの ゆめばかりなる たまくらに かひなくたたむ なこそをしけれ,周防内侍,2025/08/27 14:35:39,1756272939.6003056
68,心にも あらでうき世に ながらへば 恋しかるべき 夜半の月かな,こころにも あらでうきよに ながらへば こひしかるべき よはのつきかな,三条院,2025/08/27 14:35:39,1756272939.6003287
69,嵐吹く み室の山の もみぢ葉は 竜田の川の 錦なりけり,あらしふく みむろのやまの もみぢばは たつたのかはの にしきなりけり,能因法師,2025/08/27 14:35:39,1756272939.6003485
70,さびしさに 宿を立ち出でて ながむれば いづこも同じ 秋の夕暮れ,さびしさに やどをたちいでて ながむれば いづこもおなじ あきのゆふぐれ,良暹法師,2025/08/27 14:35:39,1756272939.6003606
71,夕されば 門田の稲葉 おとづれて 芦のまろやに 秋風ぞ吹く,ゆふされば かどたのいなば おとづれて あしのまろやに あきかぜぞふく,大納言経信,2025/08/27 14:35:39,1756272939.6003726
72,音に聞く 高師の浜の あだ波は かけじや袖の ぬれもこそすれ,おとにきく たかしのはまの あだなみは かけじやそでの ぬれもこそすれ,祐子内親王家紀伊,2025/08/27 14:35:39,1756272939.6003838
73,高砂の 尾の上の桜 咲きにけり 外山の霞 立たずもあらなむ,たかさごの をのへのさくら さきにけり とやまのかすみ たたずもあらなむ,権中納言匡房,2025/08/27 14:35:39,1756272939.6003954
74,憂かりける 人を初瀬の 山おろしよ はげしかれとは 祈らぬものを,うかりける ひとをはつせの やまおろしよ はげしかれとは いのらぬものを,源俊頼朝臣,2025/08/27 14:35:39,1756272939.6004071
75,契りおきし させもが露を 命にて あはれ今年の 秋もいぬめり,ちぎりおきし させもがつゆを いのちにて あはれことしの あきもいぬめり,藤原基俊,2025/08/27 14:35:39,1756272939.6004183
76,わたの原 漕ぎ出でて見れば ひさかたの 雲居にまがふ 沖つ白波,わたのはら こぎいでてみれば ひさかたの くもゐにまがふ おきつしらなみ,法性寺入道前関白太政大臣,2025/08/27 14:35:39,1756272939.6004748
77,瀬をはやみ 岩にせかるる 滝川の われても末に あはむとぞ思ふ,せをはやみ いはにせかるる たきがはの われてもすゑに あはむとぞおもふ,崇徳院,2025/08/27 14:35:39,1756272939.6004872
78,淡路島 かよふ千鳥の 鳴く声に いく夜寝覚めぬ 須磨の関守,あはぢしま かよふちどりの なくこゑに いくよねざめぬ すまのせきもり,源兼昌,2025/08/27 14:35:39,1756272939.6005006
79,秋風に たなびく雲の 絶え間より もれ出づる月の 影のさやけさ,あきかぜに たなびくくもの たえまより もれいづるつきの かげのさやけさ,左京大夫顕輔,2025/08/27 14:35:39,1756272939.6005127
80,長からむ 心も知らず 黒髪の 乱れて今朝は 物をこそ思へ,ながからむ こころもしらず くろかみの みだれてけさは ものをこそおもへ,待賢門院堀河,2025/08/27 14:35:39,1756272939.6005242
81,ほととぎす 鳴きつる方を ながむれば ただ有明の 月ぞ残れる,ほととぎす なきつるかたを ながむれば ただありあけの つきぞのこれる,後徳大寺左大臣,2025/08/27 14:35:39,1756272939.6005359
82,思ひわび さても命は あるものを 憂きにたへぬは 涙なりけり,おもひわび さてもいのちは あるものを うきにたへぬは なみだなりけり,道因法師,2025/08/27 14:35:39,1756272939.600551
83,世の中よ 道こそなけれ 思ひ入る 山の奥にも 鹿ぞ鳴くなる,よのなかよ みちこそなけれ おもひいる やまのおくにも しかぞなくなる,皇太后宮大夫俊成,2025/08/27 14:35:39,1756272939.6005626
84,長らへば またこのごろや しのばれむ 憂しと見し世ぞ 今は恋しき,ながらへば またこのごろや しのばれむ うしとみしよぞ いまはこひしき,藤原清輔朝臣,2025/08/27 14:35:39,1756272939.6005745
85,夜もすがら 物思ふころは 明けやらで 閨のひまさへ つれなかりけり,よもすがら ものおもふころは あけやらで ねやのひまさへ つれなかりけり,俊恵法師,2025/08/27 14:35:39,1756272939.6005888
86,嘆けとて 月やは物を 思はする かこち顔なる わが涙かな,なげけとて つきやはものを おもはする かこちがほなる わがなみだかな,西行法師,2025/08/27 14:35:39,1756272939.600603
87,村雨の 露もまだひぬ 真木の葉に 霧立ちのぼる 秋の夕暮れ,むらさめの つゆもまだひぬ まきのはに きりたちのぼる あきのゆふぐれ,寂蓮法師,2025/08/27 14:35:39,1756272939.600615
88,難波江の 芦のかりねの ひとよゆゑ みをつくしてや 恋ひわたるべき,なにはえの あしのかりねの ひとよゆゑ みをつくしてや こひわたるべき,皇嘉門院別当,2025/08/27 14:35:39,1756272939.6006265
89,玉の緒よ 絶えなば絶えね ながらへば 忍ぶることの よわりもぞする,たまのをよ たえなばたえね ながらへば しのぶることの よわりもぞする,式子内親王,2025/08/27 14:35:39,1756272939.6006384
90,見せばやな 雄島のあまの 袖だにも ぬれにぞぬれし 色はかはらず,みせばやな をじまのあまの そでだにも ぬれにぞぬれし いろはかはらず,殷富門院大輔,2025/08/27 14:35:39,1756272939.60065
91,きりぎりす 鳴くや霜夜の さむしろに 衣かたしき ひとりかも寝む,きりぎりす なくやしもよの さむしろに ころもかたしき ひとりかもねむ,後京極摂政前太政大臣,2025/08/27 14:35:39,1756272939.6006622
92,わが袖は 潮干に見えぬ 沖の石の 人こそ知らね かわく間もなし,わがそでは しほひにみえぬ おきのいしの ひとこそしらね かわくまもなし,二条院讃岐,2025/08/27 14:35:39,1756272939.6006732
93,世の中は 常にもがもな 渚こぐ あまの小舟の 綱手かなしも,よのなかは つねにもがもな なぎさこぐ あまのをぶねの つなでかなしも,鎌倉右大臣,2025/08/27 14:35:39,1756272939.600685
94,み吉野の 山の秋風 さ夜更けて ふるさと寒く 衣うつなり,みよしのの やまのあきかぜ さよふけて ふるさとさむく ころもうつなり,参議雅経,2025/08/27 14:35:39,1756272939.6006975
95,おほけなく うき世の民に おほふかな わが立つ杣に 墨染の袖,おほけなく うきよのたみに おほふかな わがたつそまに すみぞめのそで,前大僧正慈円,2025/08/27 14:35:39,1756272939.6007092
96,花さそふ 嵐の庭の 雪ならで ふりゆくものは わが身なりけり,はなさそふ あらしのにはの ゆきならで ふりゆくものは わがみなりけり,入道前太政大臣,2025/08/27 14:35:39,1756272939.6007206
97,来ぬ人を まつほの浦の 夕なぎに 焼くや藻塩の 身もこがれつつ,こぬひとを まつほのうらの ゆふなぎに やくやもしほの みもこがれつつ,権中納言定家,2025/08/27 14:35:39,1756272939.6007316
98,風そよぐ ならの小川の 夕暮れは みそぎぞ夏の しるしなりける,かぜそよぐ ならのをがはの ゆふぐれは みそぎぞなつの しるしなりける,従二位家隆,2025/08/27 14:35:39,1756272939.600743
99,人も惜し 人も恨めし あぢきなく 世を思ふゆゑに 物思ふ身は,ひともをし ひともうらめし あぢきなく よをおもふゆゑに ものおもふみは,後鳥羽院,2025/08/27 14:35:39,1756272939.6007564
100,ももしきや 古き軒端の しのぶにも なほあまりある 昔なりけり,ももしきや ふるきのきばの しのぶにも なほあまりある むかしなりけり,順徳院,2025/08/27 14:35:39,1756272939.6007688

 

 

CSVファイルの読み書きの詳細については、下記をご覧ください。

 

TSVファイルへの書き込み

次には、TSVファイルへの書き込み処理を行います。

Pythonで、TSVファイルを扱う場合も、csvモジュールをインポートします。

CSVファイル書き込み処理で利用した書き方と同様に、TSVファイルへの

書き込み処理にも、with文を利用して、openメソッドで、モード:‘w’

文字コード:UTF-8を指定します。

辞書データ書き込むには、csv.DictWriter() クラスを使用します。

writeheader()メソッドを利用する事で、フィールド名ヘッダーとして書き込みます。

行の書き込みは 、writerow()メソッド で、引数辞書データを指定します。

下記は、TSVファイルへの書き込み処理のソース例になります。


import json
import csv
import gc # メモリ処理
from datetime import datetime as dt
import time

in_file = "./data/poem_kanji_kana_utf-8.json"

out_file = "./data/poem_kanji_kana_utf-8.tsv"

json_data = ""

json_loads = {}

try:
    # 開始時間
    start_time = time.time()

    print("処理開始日時:", dt.now().strftime('%Y/%m/%d %H:%M:%S'))
    print("----------------------------------")
  
    # ファイルを読み込み
    with open(in_file, mode='r', encoding='utf-8-sig') as fp:

        json_data = fp.read()

        json_loads = json.loads(json_data)

    # TSVファイル出力
    with open(out_file, mode='w', encoding='utf-8', newline='') as fp:

        writer = csv.DictWriter(
            fp,
            delimiter='\t',
            fieldnames=json_loads[0].keys(),
            doublequote=True,
            quoting=csv.QUOTE_ALL
            )

        writer.writeheader()

        writer.writerows(json_loads)

    # 初期化
    json_data = ""
    json_loads = {}

    # 終了時間
    end_time = time.time()

    # 差分
    diff_time = end_time - start_time

    print("処理終了日時:", dt.now().strftime('%Y/%m/%d %H:%M:%S'))
    print("----------------------------------")
    print("処理時間:", diff_time , "秒")
    print("----------------------------------")

    print("Read Poem JSON Data -> Write TSV Data Succesfully")
    print("----------------------------------")

except KeyboardInterrupt:
    gc.collect()

finally:
    gc.collect()

TSVファイルへの書き込みについても、通常、csv.writer() メソッドを利用します。

今回、JSONファイルを、fp.read()メソッドで、文字列(テキスト)として読み込んだ後、

dict(辞書)型にしていますので、csv.DictWriter() メソッドを利用します。

csv.DictWriter() メソッドは、csv.writer() メソッド継承しているので、

csv.writer() の引数は、そのまま利用可能です。

  • 第一引数:書き込み用ファイル(fp)を指定
  • 第二引数:フィールドの区切り文字を、delimiter で指定します。今回は、TSVファイル書き込みなので、\t’(タブ)を指定しています。
  • 第三引数:TSVファイルフィールド名を指定します。json_dict[0] で、dict(辞書)1番目の要素を抜き取り、keys() でキー情報を取得しています。
  • 第四引数:各データを書き込む際に、””(ダブルクォーテーション)で囲むかどうか指定します。今回は、””(ダブルクォーテーション)で囲んでに書き込むので、Trueを指定しています。
  • 第五引数:全てのデータ””(ダブルクォーテーション)で囲むので、quotingQUOTE_ALL を指定します。

quoting の引数は、下記になります。

  1. QUOTE_MINIMAL: quotechar(特殊文字)や、改行など特別な文字だけ、””(ダブルクォーテーション)で囲む
  2. QUOTE_NONNUMERIC: 数値以外のデータを、””(ダブルクォーテーション)で囲む
  3. QUOTE_ALL: 全てのデータを、””(ダブルクォーテーション)で囲む
  4. QUOTE_NONE: 全てのデータを、””(ダブルクォーテーション)で囲まない

 

 

TSVファイルへの書き込みの実行例

実際にソースを起動して、TSVファイル書き込みをしてみましょう。

作成したソース画面上の上部のタブメニューより、Run → Run Module を選択して、

ソースを起動します。

 

実行結果は、以下の通りです。

 

出力したTSVファイルを、開いてみましょう。

1行目に、ヘッダー情報として、JSONファイルの要素名が記載されている事が確認出来ます。

CSVファイルと異なり、各データ区切りには、カンマでは無く、タブが記載されていますが、

スクリーンショットでは、分かりにくいかもしれません。

最下位まで、スクロールします。

こちらも、100首の「百人一首」データが、書き込まれている事が確認出来ました。

 

実際に出力したTSVファイルも紹介しておきます。

"poem_no"	"poem_kanji"	"poem_kana"	"poem_writer"	"create_datetime"	"create_unixtime"
"1"	"秋の田の かりほの庵の 苫をあらみ わが衣手は 露にぬれつつ"	"あきのたの かりほのいほの とまをあらみ わがころもでは つゆにぬれつつ"	"天智天皇"	"2025/08/27 14:35:39"	"1756272939.599317"
"2"	"春すぎて 夏来にけらし 白妙の 衣ほすてふ 天の香具山"	"はるすぎて なつきにけらし しろたへの ころもほすてふ あまのかぐやま"	"持統天皇"	"2025/08/27 14:35:39"	"1756272939.599344"
"3"	"あしびきの 山鳥の尾の しだり尾の ながながし夜を ひとりかも寝む"	"あしびきの やまどりのをの しだりをの ながながしよを ひとりかもねむ"	"柿本人麻呂"	"2025/08/27 14:35:39"	"1756272939.5993638"
"4"	"田子の浦に うち出でてみれば 白妙の 富士の高嶺に 雪は降りつつ"	"たごのうらに うちいでてみれば しろたへの ふじのたかねに ゆきはふりつつ"	"山部赤人"	"2025/08/27 14:35:39"	"1756272939.5993774"
"5"	"奥山に 紅葉踏みわけ 鳴く鹿の 声きく時ぞ 秋は悲しき"	"おくやまに もみぢふみわけ なくしかの こゑきくときぞ あきはかなしき"	"猿丸大夫"	"2025/08/27 14:35:39"	"1756272939.5993924"
"6"	"かささぎの 渡せる橋に おく霜の 白きをみれば 夜ぞふけにける"	"かささぎの わたせるはしに おくしもの しろきをみれば よぞふけにける"	"中納言家持"	"2025/08/27 14:35:39"	"1756272939.5994184"
"7"	"天の原 ふりさけ見れば 春日なる 三笠の山に 出でし月かも"	"あまのはら ふりさけみれば かすがなる みかさのやまに いでしつきかも"	"安倍仲麿"	"2025/08/27 14:35:39"	"1756272939.5994327"
"8"	"わが庵は 都のたつみ しかぞすむ 世をうぢ山と 人はいふなり"	"わがいほは みやこのたつみ しかぞすむ よをうぢやまと ひとはいふなり"	"喜撰法師"	"2025/08/27 14:35:39"	"1756272939.599445"
"9"	"花の色は うつりにけりな いたづらに わが身世にふる ながめせしまに"	"はなのいろは うつりにけりな いたづらに わがみよにふる ながめせしまに"	"小野小町"	"2025/08/27 14:35:39"	"1756272939.5994575"
"10"	"これやこの 行くも帰るも 別れては 知るも知らぬも 逢坂の関"	"これやこの ゆくもかへるも わかれては しるもしらぬも あふさかのせき"	"蝉丸"	"2025/08/27 14:35:39"	"1756272939.59947"
"11"	"わたの原 八十島かけて 漕ぎ出でぬと 人には告げよ 海人の釣舟"	"わたのはら やそしまかけて こぎいでぬと ひとにはつげよ あまのつりぶね"	"参議篁"	"2025/08/27 14:35:39"	"1756272939.5994825"
"12"	"天つ風 雲の通ひ路 吹き閉ぢよ をとめの姿 しばしとどめむ"	"あまつかぜ くものかよひぢ ふきとぢよ をとめのすがた しばしとどめむ"	"僧正遍照"	"2025/08/27 14:35:39"	"1756272939.5994956"
"13"	"筑波嶺の 峰より落つる 男女川 恋ぞつもりて 淵となりぬる"	"つくばねの みねよりおつる みなのがは こひぞつもりて ふちとなりぬる"	"陽成院"	"2025/08/27 14:35:39"	"1756272939.5995088"
"14"	"陸奥の しのぶもぢずり 誰ゆゑに 乱れそめにし われならなくに"	"みちのくの しのぶもぢずり たれゆゑに みだれそめにし われならなくに"	"河原左大臣"	"2025/08/27 14:35:39"	"1756272939.5995216"
"15"	"君がため 春の野に出でて 若菜つむ わが衣手に 雪は降りつつ"	"きみがため はるののにいでて わかなつむ わがころもでに ゆきはふりつつ"	"光孝天皇"	"2025/08/27 14:35:39"	"1756272939.5995345"
"16"	"たち別れ いなばの山の 峰に生ふる まつとし聞かば 今帰り来む"	"たちわかれ いなばのやまの みねにおふる まつとしきかば いまかへりこむ"	"中納言行平"	"2025/08/27 14:35:39"	"1756272939.5995462"
"17"	"ちはやぶる 神代も聞かず 竜田川 からくれなゐに 水くくるとは"	"ちはやぶる かみよもきかず たつたがは からくれなゐに みづくくるとは"	"在原業平朝臣"	"2025/08/27 14:35:39"	"1756272939.5995576"
"18"	"住の江の 岸による波 よるさへや 夢の通ひ路 人めよくらむ"	"すみのえの きしによるなみ よるさへや ゆめのかよひぢ ひとめよくらむ"	"藤原敏行朝臣"	"2025/08/27 14:35:39"	"1756272939.5995705"
"19"	"難波潟 みじかき芦の ふしの間も 逢はでこの世を 過ぐしてよとや"	"なにはがた みじかきあしの ふしのまも あはでこのよを すぐしてよとや"	"伊勢"	"2025/08/27 14:35:39"	"1756272939.5995831"
"20"	"わびぬれば 今はた同じ 難波なる みをつくしても 逢はむとぞ思ふ"	"わびぬれば いまはたおなじ なにはなる みをつくしても あはむとぞおもふ"	"元良親王"	"2025/08/27 14:35:39"	"1756272939.5995975"
"21"	"今来むと 言ひしばかりに 長月の 有明の月を 待ち出でつるかな"	"いまこむと いひしばかりに ながつきの ありあけのつきを まちいでつるかな"	"素性法師"	"2025/08/27 14:35:39"	"1756272939.5996106"
"22"	"吹くからに 秋の草木の しをるれば むべ山風を 嵐といふらむ"	"ふくからに あきのくさきの しをるれば むべやまかぜを あらしといふらむ"	"文屋康秀"	"2025/08/27 14:35:39"	"1756272939.599624"
"23"	"月見れば ちぢにものこそ 悲しけれ わが身一つの 秋にはあらねど"	"つきみれば ちぢにものこそ かなしけれ わがみひとつの あきにはあらねど"	"大江千里"	"2025/08/27 14:35:39"	"1756272939.5996356"
"24"	"このたびは ぬさもとりあへず 手向山 紅葉の錦 神のまにまに"	"このたびは ぬさもとりあへず たむけやま もみぢのにしき かみのまにまに"	"菅家"	"2025/08/27 14:35:39"	"1756272939.5996478"
"25"	"名にしおはば 逢坂山の さねかづら 人にしられで くるよしもがな"	"なにしおはば あふさかやまの さねかづら ひとにしられで くるよしもがな"	"三条右大臣"	"2025/08/27 14:35:39"	"1756272939.59966"
"26"	"小倉山 峰のもみぢ葉 心あらば 今ひとたびの みゆき待たなむ"	"をぐらやま みねのもみぢば こころあらば いまひとたびの みゆきまたなむ"	"貞信公"	"2025/08/27 14:35:39"	"1756272939.599675"
"27"	"みかの原 わきて流るる 泉川 いつ見きとてか 恋しかるらむ"	"みかのはら わきてながるる いづみがは いつみきとてか こひしかるらむ"	"中納言兼輔"	"2025/08/27 14:35:39"	"1756272939.5996876"
"28"	"山里は 冬ぞさびしさ まさりける 人目も草も かれぬと思へば"	"やまざとは ふゆぞさびしさ まさりける ひとめもくさも かれぬとおもへば"	"源宗于朝臣"	"2025/08/27 14:35:39"	"1756272939.5996995"
"29"	"心あてに 折らばや折らむ 初霜の 置きまどはせる 白菊の花"	"こころあてに をらばやをらむ はつしもの おきまどはせる しらぎくのはな"	"凡河内躬恒"	"2025/08/27 14:35:39"	"1756272939.5997126"
"30"	"有明の つれなく見えし 別れより あかつきばかり 憂きものはなし"	"ありあけの つれなくみえし わかれより あかつきばかり うきものはなし"	"壬生忠岑"	"2025/08/27 14:35:39"	"1756272939.5997272"
"31"	"朝ぼらけ 有明の月と 見るまでに 吉野の里に 降れる白雪"	"あさぼらけ ありあけのつきと みるまでに よしののさとに ふれるしらゆき"	"坂上是則"	"2025/08/27 14:35:39"	"1756272939.5997388"
"32"	"山川に 風のかけたる しがらみは 流れもあへぬ 紅葉なりけり"	"やまがはに かぜのかけたる しがらみは ながれもあへぬ もみぢなりけり"	"春道列樹"	"2025/08/27 14:35:39"	"1756272939.599751"
"33"	"ひさかたの 光のどけき 春の日に 静心なく 花の散るらむ"	"ひさかたの ひかりのどけき はるのひに しづごころなく はなのちるらむ"	"紀友則"	"2025/08/27 14:35:39"	"1756272939.5997627"
"34"	"誰をかも 知る人にせむ 高砂の 松も昔の 友ならなくに"	"たれをかも しるひとにせむ たかさごの まつもむかしの ともならなくに"	"藤原興風"	"2025/08/27 14:35:39"	"1756272939.5997784"
"35"	"人はいさ 心も知らず ふるさとは 花ぞ昔の 香ににほひける"	"ひとはいさ こころもしらず ふるさとは はなぞむかしの かににほひける"	"紀貫之"	"2025/08/27 14:35:39"	"1756272939.5997915"
"36"	"夏の夜は まだ宵ながら 明けぬるを 雲のいづこに 月宿るらむ"	"なつのよは まだよひながら あけぬるを くものいづこに つきやどるらむ"	"清原深養父"	"2025/08/27 14:35:39"	"1756272939.599806"
"37"	"白露に 風の吹きしく 秋の野は つらぬきとめぬ 玉ぞ散りける"	"しらつゆに かぜのふきしく あきののは つらぬきとめぬ たまぞちりける"	"文屋朝康"	"2025/08/27 14:35:39"	"1756272939.5998204"
"38"	"忘らるる 身をば思はず 誓ひてし 人の命の 惜しくもあるかな"	"わすらるる みをばおもはず ちかひてし ひとのいのちの をしくもあるかな"	"右近"	"2025/08/27 14:35:39"	"1756272939.5999377"
"39"	"浅茅生の 小野の篠原 しのぶれど あまりてなどか 人の恋しき"	"あさぢふの をののしのはら しのぶれど あまりてなどか ひとのこひしき"	"参議等"	"2025/08/27 14:35:39"	"1756272939.5999594"
"40"	"しのぶれど 色に出でにけり わが恋は 物や思ふと 人の問ふまで"	"しのぶれど いろにいでにけり わがこひは ものやおもふと ひとのとふまで"	"平兼盛"	"2025/08/27 14:35:39"	"1756272939.5999715"
"41"	"恋すてふ わが名はまだき 立ちにけり 人知れずこそ 思ひそめしか"	"こひすてふ わがなはまだき たちにけり ひとしれずこそ おもひそめしか"	"壬生忠見"	"2025/08/27 14:35:39"	"1756272939.5999844"
"42"	"契りきな かたみに袖を しぼりつつ 末の松山 波越さじとは"	"ちぎりきな かたみにそでを しぼりつつ すゑのまつやま なみこさじとは"	"清原元輔"	"2025/08/27 14:35:39"	"1756272939.5999966"
"43"	"逢ひ見ての のちの心に くらぶれば 昔は物を 思はざりけり"	"あひみての のちのこころに くらぶれば むかしはものを おもはざりけり"	"権中納言敦忠"	"2025/08/27 14:35:39"	"1756272939.6000085"
"44"	"逢ふことの 絶えてしなくは なかなかに 人をも身をも 恨みざらまし"	"あふことの たえてしなくは なかなかに ひとをもみをも うらみざらまし"	"中納言朝忠"	"2025/08/27 14:35:39"	"1756272939.60002"
"45"	"あはれとも いふべき人は 思ほえで 身のいたづらに なりぬべきかな"	"あはれとも いふべき人は 思ほえで 身のいたづらに なりぬべきかな"	"謙徳公"	"2025/08/27 14:35:39"	"1756272939.6000342"
"46"	"由良のとを 渡る舟人 かぢを絶え ゆくへも知らぬ 恋の道かな"	"ゆらのとを わたるふなびと かぢをたえ ゆくへもしらぬ こひのみちかな"	"曾禰好忠"	"2025/08/27 14:35:39"	"1756272939.600046"
"47"	"八重葎 しげれる宿の さびしきに 人こそ見えね 秋は来にけり"	"やへむぐら しげれるやどの さびしきに ひとこそみえね あきはきにけり"	"恵慶法師"	"2025/08/27 14:35:39"	"1756272939.600059"
"48"	"風をいたみ 岩うつ波の おのれのみ くだけて物を 思ふころかな"	"かぜをいたみ いはうつなみの おのれのみ くだけてものを おもふころかな"	"源重之"	"2025/08/27 14:35:39"	"1756272939.6000721"
"49"	"みかきもり 衛士のたく火の 夜は燃え 昼は消えつつ 物をこそ思へ"	"みかきもり ゑじのたくひの よるはもえ ひるはきえつつ ものをこそおもへ"	"大中臣能宣"	"2025/08/27 14:35:39"	"1756272939.6000843"
"50"	"君がため 惜しからざりし 命さへ 長くもがなと 思ひけるかな"	"きみがため をしからざりし いのちさへ ながくもがなと おもひけるかな"	"藤原義孝"	"2025/08/27 14:35:39"	"1756272939.6000955"
"51"	"かくとだに えやはいぶきの さしも草 さしも知らじな 燃ゆる思ひを"	"かくとだに えやはいぶきの さしもぐさ さしもしらじな もゆるおもひを"	"藤原実方朝臣"	"2025/08/27 14:35:39"	"1756272939.6001103"
"52"	"明けぬれば 暮るるものとは 知りながら なほうらめしき 朝ぼらけかな"	"あけぬれば くるるものとは しりながら なほうらめしき あさぼらけかな"	"藤原道信朝臣"	"2025/08/27 14:35:39"	"1756272939.6001225"
"53"	"嘆きつつ ひとり寝る夜の 明くる間は いかに久しき ものとかは知る"	"なげきつつ ひとりぬるよの あくるまは いかにひさしき ものとかはしる"	"右大将道綱母"	"2025/08/27 14:35:39"	"1756272939.6001334"
"54"	"忘れじの 行く末までは かたければ 今日を限りの 命ともがな"	"わすれじの ゆくすゑまでは かたければ けふをかぎりの いのちともがな"	"儀同三司母"	"2025/08/27 14:35:39"	"1756272939.6001453"
"55"	"滝の音は 絶えて久しく なりぬれど 名こそ流れて なほ聞こえけれ"	"たきのおとは たえてひさしく なりぬれど なこそながれて なほきこえけれ"	"大納言公任"	"2025/08/27 14:35:39"	"1756272939.600157"
"56"	"あらざらむ この世のほかの 思ひ出に 今ひとたびの 逢ふこともがな"	"あらざらむ このよのほかの おもひでに いまひとたびの あふこともがな"	"和泉式部"	"2025/08/27 14:35:39"	"1756272939.6001685"
"57"	"めぐりあひて 見しやそれとも わかぬ間に 雲がくれにし 夜半の月かな"	"めぐりあひて みしやそれとも わかぬまに くもがくれにし よはのつきかな"	"紫式部"	"2025/08/27 14:35:39"	"1756272939.6001794"
"58"	"有馬山 猪名の笹原 風吹けば いでそよ人を 忘れやはする"	"ありまやま ゐなのささはら かぜふけば いでそよひとを わすれやはする"	"大弐三位"	"2025/08/27 14:35:39"	"1756272939.6001923"
"59"	"やすらはで 寝なましものを さ夜更けて かたぶくまでの 月を見しかな"	"やすらはで ねなましものを さよふけて かたぶくまでの つきをみしかな"	"赤染衛門"	"2025/08/27 14:35:39"	"1756272939.6002038"
"60"	"大江山 いく野の道の 遠ければ まだふみもみず 天の橋立"	"おほえやま いくののみちの とほければ まだふみもみず あまのはしだて"	"小式部内侍"	"2025/08/27 14:35:39"	"1756272939.6002162"
"61"	"いにしへの 奈良の都の 八重桜 けふ九重に にほひぬるかな"	"いにしへの ならのみやこの やへざくら けふここのへに にほひぬるかな"	"伊勢大輔"	"2025/08/27 14:35:39"	"1756272939.600228"
"62"	"夜をこめて 鳥のそらねは はかるとも よに逢坂の 関はゆるさじ"	"よをこめて とりのそらねは はかるとも よにあふさかの せきはゆるさじ"	"清少納言"	"2025/08/27 14:35:39"	"1756272939.600239"
"63"	"今はただ 思ひ絶えなむ とばかりを 人づてならで 言ふよしもがな"	"いまはただ おもひたえなむ とばかりを ひとづてならで いふよしもがな"	"左京大夫道雅"	"2025/08/27 14:35:39"	"1756272939.600252"
"64"	"朝ぼらけ 宇治の川霧 たえだえに あらはれわたる 瀬々の網代木"	"あさぼらけ うぢのかはぎり たえだえに あらはれわたる せぜのあじろぎ"	"権中納言定頼"	"2025/08/27 14:35:39"	"1756272939.6002634"
"65"	"恨みわび ほさぬ袖だに あるものを 恋に朽ちなむ 名こそ惜しけれ"	"うらみわび ほさぬそでだに あるものを こひにくちなむ なこそをしけれ"	"相模"	"2025/08/27 14:35:39"	"1756272939.6002772"
"66"	"もろともに あはれと思へ 山桜 花よりほかに 知る人もなし"	"もろともに あはれとおもへ やまざくら はなよりほかに しるひともなし"	"前大僧正行尊"	"2025/08/27 14:35:39"	"1756272939.6002922"
"67"	"春の夜の 夢ばかりなる 手枕に かひなく立たむ 名こそ惜しけれ"	"はるのよの ゆめばかりなる たまくらに かひなくたたむ なこそをしけれ"	"周防内侍"	"2025/08/27 14:35:39"	"1756272939.6003056"
"68"	"心にも あらでうき世に ながらへば 恋しかるべき 夜半の月かな"	"こころにも あらでうきよに ながらへば こひしかるべき よはのつきかな"	"三条院"	"2025/08/27 14:35:39"	"1756272939.6003287"
"69"	"嵐吹く み室の山の もみぢ葉は 竜田の川の 錦なりけり"	"あらしふく みむろのやまの もみぢばは たつたのかはの にしきなりけり"	"能因法師"	"2025/08/27 14:35:39"	"1756272939.6003485"
"70"	"さびしさに 宿を立ち出でて ながむれば いづこも同じ 秋の夕暮れ"	"さびしさに やどをたちいでて ながむれば いづこもおなじ あきのゆふぐれ"	"良暹法師"	"2025/08/27 14:35:39"	"1756272939.6003606"
"71"	"夕されば 門田の稲葉 おとづれて 芦のまろやに 秋風ぞ吹く"	"ゆふされば かどたのいなば おとづれて あしのまろやに あきかぜぞふく"	"大納言経信"	"2025/08/27 14:35:39"	"1756272939.6003726"
"72"	"音に聞く 高師の浜の あだ波は かけじや袖の ぬれもこそすれ"	"おとにきく たかしのはまの あだなみは かけじやそでの ぬれもこそすれ"	"祐子内親王家紀伊"	"2025/08/27 14:35:39"	"1756272939.6003838"
"73"	"高砂の 尾の上の桜 咲きにけり 外山の霞 立たずもあらなむ"	"たかさごの をのへのさくら さきにけり とやまのかすみ たたずもあらなむ"	"権中納言匡房"	"2025/08/27 14:35:39"	"1756272939.6003954"
"74"	"憂かりける 人を初瀬の 山おろしよ はげしかれとは 祈らぬものを"	"うかりける ひとをはつせの やまおろしよ はげしかれとは いのらぬものを"	"源俊頼朝臣"	"2025/08/27 14:35:39"	"1756272939.6004071"
"75"	"契りおきし させもが露を 命にて あはれ今年の 秋もいぬめり"	"ちぎりおきし させもがつゆを いのちにて あはれことしの あきもいぬめり"	"藤原基俊"	"2025/08/27 14:35:39"	"1756272939.6004183"
"76"	"わたの原 漕ぎ出でて見れば ひさかたの 雲居にまがふ 沖つ白波"	"わたのはら こぎいでてみれば ひさかたの くもゐにまがふ おきつしらなみ"	"法性寺入道前関白太政大臣"	"2025/08/27 14:35:39"	"1756272939.6004748"
"77"	"瀬をはやみ 岩にせかるる 滝川の われても末に あはむとぞ思ふ"	"せをはやみ いはにせかるる たきがはの われてもすゑに あはむとぞおもふ"	"崇徳院"	"2025/08/27 14:35:39"	"1756272939.6004872"
"78"	"淡路島 かよふ千鳥の 鳴く声に いく夜寝覚めぬ 須磨の関守"	"あはぢしま かよふちどりの なくこゑに いくよねざめぬ すまのせきもり"	"源兼昌"	"2025/08/27 14:35:39"	"1756272939.6005006"
"79"	"秋風に たなびく雲の 絶え間より もれ出づる月の 影のさやけさ"	"あきかぜに たなびくくもの たえまより もれいづるつきの かげのさやけさ"	"左京大夫顕輔"	"2025/08/27 14:35:39"	"1756272939.6005127"
"80"	"長からむ 心も知らず 黒髪の 乱れて今朝は 物をこそ思へ"	"ながからむ こころもしらず くろかみの みだれてけさは ものをこそおもへ"	"待賢門院堀河"	"2025/08/27 14:35:39"	"1756272939.6005242"
"81"	"ほととぎす 鳴きつる方を ながむれば ただ有明の 月ぞ残れる"	"ほととぎす なきつるかたを ながむれば ただありあけの つきぞのこれる"	"後徳大寺左大臣"	"2025/08/27 14:35:39"	"1756272939.6005359"
"82"	"思ひわび さても命は あるものを 憂きにたへぬは 涙なりけり"	"おもひわび さてもいのちは あるものを うきにたへぬは なみだなりけり"	"道因法師"	"2025/08/27 14:35:39"	"1756272939.600551"
"83"	"世の中よ 道こそなけれ 思ひ入る 山の奥にも 鹿ぞ鳴くなる"	"よのなかよ みちこそなけれ おもひいる やまのおくにも しかぞなくなる"	"皇太后宮大夫俊成"	"2025/08/27 14:35:39"	"1756272939.6005626"
"84"	"長らへば またこのごろや しのばれむ 憂しと見し世ぞ 今は恋しき"	"ながらへば またこのごろや しのばれむ うしとみしよぞ いまはこひしき"	"藤原清輔朝臣"	"2025/08/27 14:35:39"	"1756272939.6005745"
"85"	"夜もすがら 物思ふころは 明けやらで 閨のひまさへ つれなかりけり"	"よもすがら ものおもふころは あけやらで ねやのひまさへ つれなかりけり"	"俊恵法師"	"2025/08/27 14:35:39"	"1756272939.6005888"
"86"	"嘆けとて 月やは物を 思はする かこち顔なる わが涙かな"	"なげけとて つきやはものを おもはする かこちがほなる わがなみだかな"	"西行法師"	"2025/08/27 14:35:39"	"1756272939.600603"
"87"	"村雨の 露もまだひぬ 真木の葉に 霧立ちのぼる 秋の夕暮れ"	"むらさめの つゆもまだひぬ まきのはに きりたちのぼる あきのゆふぐれ"	"寂蓮法師"	"2025/08/27 14:35:39"	"1756272939.600615"
"88"	"難波江の 芦のかりねの ひとよゆゑ みをつくしてや 恋ひわたるべき"	"なにはえの あしのかりねの ひとよゆゑ みをつくしてや こひわたるべき"	"皇嘉門院別当"	"2025/08/27 14:35:39"	"1756272939.6006265"
"89"	"玉の緒よ 絶えなば絶えね ながらへば 忍ぶることの よわりもぞする"	"たまのをよ たえなばたえね ながらへば しのぶることの よわりもぞする"	"式子内親王"	"2025/08/27 14:35:39"	"1756272939.6006384"
"90"	"見せばやな 雄島のあまの 袖だにも ぬれにぞぬれし 色はかはらず"	"みせばやな をじまのあまの そでだにも ぬれにぞぬれし いろはかはらず"	"殷富門院大輔"	"2025/08/27 14:35:39"	"1756272939.60065"
"91"	"きりぎりす 鳴くや霜夜の さむしろに 衣かたしき ひとりかも寝む"	"きりぎりす なくやしもよの さむしろに ころもかたしき ひとりかもねむ"	"後京極摂政前太政大臣"	"2025/08/27 14:35:39"	"1756272939.6006622"
"92"	"わが袖は 潮干に見えぬ 沖の石の 人こそ知らね かわく間もなし"	"わがそでは しほひにみえぬ おきのいしの ひとこそしらね かわくまもなし"	"二条院讃岐"	"2025/08/27 14:35:39"	"1756272939.6006732"
"93"	"世の中は 常にもがもな 渚こぐ あまの小舟の 綱手かなしも"	"よのなかは つねにもがもな なぎさこぐ あまのをぶねの つなでかなしも"	"鎌倉右大臣"	"2025/08/27 14:35:39"	"1756272939.600685"
"94"	"み吉野の 山の秋風 さ夜更けて ふるさと寒く 衣うつなり"	"みよしのの やまのあきかぜ さよふけて ふるさとさむく ころもうつなり"	"参議雅経"	"2025/08/27 14:35:39"	"1756272939.6006975"
"95"	"おほけなく うき世の民に おほふかな わが立つ杣に 墨染の袖"	"おほけなく うきよのたみに おほふかな わがたつそまに すみぞめのそで"	"前大僧正慈円"	"2025/08/27 14:35:39"	"1756272939.6007092"
"96"	"花さそふ 嵐の庭の 雪ならで ふりゆくものは わが身なりけり"	"はなさそふ あらしのにはの ゆきならで ふりゆくものは わがみなりけり"	"入道前太政大臣"	"2025/08/27 14:35:39"	"1756272939.6007206"
"97"	"来ぬ人を まつほの浦の 夕なぎに 焼くや藻塩の 身もこがれつつ"	"こぬひとを まつほのうらの ゆふなぎに やくやもしほの みもこがれつつ"	"権中納言定家"	"2025/08/27 14:35:39"	"1756272939.6007316"
"98"	"風そよぐ ならの小川の 夕暮れは みそぎぞ夏の しるしなりける"	"かぜそよぐ ならのをがはの ゆふぐれは みそぎぞなつの しるしなりける"	"従二位家隆"	"2025/08/27 14:35:39"	"1756272939.600743"
"99"	"人も惜し 人も恨めし あぢきなく 世を思ふゆゑに 物思ふ身は"	"ひともをし ひともうらめし あぢきなく よをおもふゆゑに ものおもふみは"	"後鳥羽院"	"2025/08/27 14:35:39"	"1756272939.6007564"
"100"	"ももしきや 古き軒端の しのぶにも なほあまりある 昔なりけり"	"ももしきや ふるきのきばの しのぶにも なほあまりある むかしなりけり"	"順徳院"	"2025/08/27 14:35:39"	"1756272939.6007688"

 

スクリーンショットでは、分かりにくかったかもしれませんが、実際に出力したTSVファイル

では、タブが確認出来ると思います。

 

 

まとめ

今回は、前回の記事とは逆のファイル操作として、JSONファイル読み込みCSVファイル

TSVファイルへの書き込みを行う処理を紹介しました。

JSONファイル読み込むには、jsonモジュールload()メソッドを利用する場合と

loads()メソッドを利用する場合の違いも紹介しました。

CSVファイルTSVファイルへのへ書き込みについては、csv.DictWriter() メソッド

利用して、各データを書き込む際に、””(ダブルクォーテーション)で囲むまない場合と

囲む場合を紹介しました。

これで、ファイル操作読み込み書き込み処理の基本が理解出来たと思いますので、

今後の実務やプログラム開発に応用頂けるとお思います。

 

次回からは、スクレイピング処理を紹介したいと思います。

 

 

コメント

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