atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
Intro to Python
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Intro to Python
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Intro to Python
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • Intro to Python
  • テキストファイルの入出力の編集履歴ソース
「テキストファイルの入出力」の編集履歴(バックアップ)一覧に戻る

テキストファイルの入出力 - (2025/03/10 (月) 23:43:45) のソース

** 目次

#contents

** フィールドが複数の空白で区切られているテキストファイルを簡単に読み込む

pandasのread_csv関数を使う。「Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版」の図5.1に掲載されているデータで試してみる。そのデータは以下のとおり。

#highlight(){{
15.43 170.91
23.01 160.68
 5.00 129.00
12.56 159.70
 8.67 155.46
 7.31 140.56
 9.66 153.65
13.64 159.43
14.92 164.70
18.47 169.65
15.48 160.71
22.13 173.29
10.11 159.31
26.95 171.52
 5.68 138.96
21.76 165.87
}}

これをファイルch5_data.txtに保存しておく。

#highlight(){{
>>> import pandas as pd
>>> df = pd.read_csv('ch5_data.txt', header = None, sep = '\s+')
>>> df
        0       1
0   15.43  170.91
1   23.01  160.68
2    5.00  129.00
3   12.56  159.70
4    8.67  155.46
5    7.31  140.56
6    9.66  153.65
7   13.64  159.43
8   14.92  164.70
9   18.47  169.65
10  15.48  160.71
11  22.13  173.29
12  10.11  159.31
13  26.95  171.52
14   5.68  138.96
15  21.76  165.87
}}

読み込まれたデータはpandasのDataFrame型(データフレーム)。これをNumPyのndarray型(行列)に変換するにはto_numpy関数を使う。

#highlight(){{
>>> d = df.to_numpy()
>>> d
array([[ 15.43, 170.91],
       [ 23.01, 160.68],
       [  5.  , 129.  ],
       [ 12.56, 159.7 ],
       [  8.67, 155.46],
       [  7.31, 140.56],
       [  9.66, 153.65],
       [ 13.64, 159.43],
       [ 14.92, 164.7 ],
       [ 18.47, 169.65],
       [ 15.48, 160.71],
       [ 22.13, 173.29],
       [ 10.11, 159.31],
       [ 26.95, 171.52],
       [  5.68, 138.96],
       [ 21.76, 165.87]])
}}

NumPyの関数を試してみる。以下は1列目と2列目の最大値をそれぞれ抜き出した例。

#highlight(){{
>>> np.max(d[:, 0])
26.95
>>> np.max(d[:, 1])
173.29
}}

** ndarray型の中身を簡単にテキストファイルに出力する

savetxt関数を使う。

#highlight(){{
>>> import numpy as np
>>> mx = np.array([[1, 2, 3], [4, 5, 6]])
>>> np.savetxt('out.txt', mx, fmt = '%.3f')
}}

出力したファイルout.txtは、以下のように出力されているはず。

#highlight(){{
1.000 2.000 3.000
4.000 5.000 6.000
}}

** ファイルやディレクトリの存在を確認する

osモジュールのpath.exists関数を使う。path.exists関数は引数に与えたパスがファイルでもディレクトリでも存在していればTrueを返す。

ファイルかディレクトリの判定はpath.isfile関数かpath.isdir関数を使う。この両関数は、存在しないパスを指定するとFalseを返す。

#highlight(){{
>>> import os
>>> os.path.exists('C:\Windows\write.exe')
True
>>> os.path.exists('C:\Windows')
True
>>> os.path.exists('C:\Windows\write.ex')
False
>>> os.path.exists('C:\Win')
False
>>> os.path.isfile('C:\Windows\write.exe')
True
>>> os.path.isdir('C:\Windows\write.exe')
False
>>> os.path.isfile('C:\Windows')
False
>>> os.path.isdir('C:\Windows')
True
>>> os.path.isfile('C:\Win')
False
>>> os.path.isdir('C:\Win')
False
}}

** パスセパレーターを得る

osモジュールのsepを使う。以下は、ウィンドウズで実行した例。

#highlight(){{
>>> import os
>>> print(os.sep)
\
>>> print('csv' + os.sep + 'result.csv')
csv\result.csv
}}
LINE
シェア
Tweet
Intro to Python
記事メニュー

メニュー

  • トップページ
  • 画面出力と入力
  • 変数とオブジェクト
  • 演算子と制御構文
  • リスト
  • 数と式
  • 文字と文字列
  • 正規表現
  • 行列
  • 日付と時刻
  • ファイル・ディレクトリの操作
  • テキストファイルの入出力
  • 画像
  • 実行とデバッグ
  • 数学
  • NumPy
  • エラーメッセージ
  • 環境
  • テキストマイニング
  • インターネット
  • Anaconda
  • その他

ここを編集
記事メニュー2

更新履歴

取得中です。


ここを編集
人気記事ランキング
  1. エラーメッセージ
  2. Anaconda
  3. NumPy
もっと見る
最近更新されたページ
  • 49日前

    リスト
  • 56日前

    正規表現
  • 85日前

    メニュー
  • 88日前

    インターネット
  • 88日前

    画像
  • 103日前

    演算子と制御構文
  • 103日前

    変数とオブジェクト
  • 114日前

    Anaconda
  • 115日前

    ファイル・ディレクトリの操作
  • 115日前

    テキストファイルの入出力
もっと見る
人気記事ランキング
  1. エラーメッセージ
  2. Anaconda
  3. NumPy
もっと見る
最近更新されたページ
  • 49日前

    リスト
  • 56日前

    正規表現
  • 85日前

    メニュー
  • 88日前

    インターネット
  • 88日前

    画像
  • 103日前

    演算子と制御構文
  • 103日前

    変数とオブジェクト
  • 114日前

    Anaconda
  • 115日前

    ファイル・ディレクトリの操作
  • 115日前

    テキストファイルの入出力
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. R.E.P.O. 日本語解説Wiki
  3. シュガードール情報まとめウィキ
  4. SYNDUALITY Echo of Ada 攻略 ウィキ
  5. ソードランページ @ 非公式wiki
  6. 星飼いの詩@ ウィキ
  7. GTA5 MADTOWN(β)まとめウィキ
  8. ドラゴンボール Sparking! ZERO 攻略Wiki
  9. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  10. harosui_souko @ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  5. 初音ミク Wiki
  6. 発車メロディーwiki
  7. MadTown GTA (Beta) まとめウィキ
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. 検索してはいけない言葉 @ ウィキ
  10. オレカバトル アプリ版 @ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. シャア専用ヅダ - アニヲタWiki(仮)
  3. 参加者一覧 - MadTown GTA (Beta) まとめウィキ
  4. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  5. 海王バローロ - オレカバトル アプリ版 @ ウィキ
  6. スエズ運河 - アニヲタWiki(仮)
  7. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  8. Lycoris - MadTown GTA (Beta) まとめウィキ
  9. ヘイズル・アウスラ[GAU装備] - 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. 868 - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.