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
  • テキストファイルの入出力

Intro to Python

テキストファイルの入出力

最終更新:2025年03月10日 23:43

introtopython

- view
管理者のみ編集可

目次

  • 目次
  • フィールドが複数の空白で区切られているテキストファイルを簡単に読み込む
  • ndarray型の中身を簡単にテキストファイルに出力する
  • ファイルやディレクトリの存在を確認する
  • パスセパレーターを得る

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

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

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に保存しておく。

>>> 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関数を使う。

>>> 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列目の最大値をそれぞれ抜き出した例。

>>> np.max(d[:, 0])
26.95
>>> np.max(d[:, 1])
173.29

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

savetxt関数を使う。

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

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

1.000 2.000 3.000
4.000 5.000 6.000

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

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

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

>>> 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を使う。以下は、ウィンドウズで実行した例。

>>> import os
>>> print(os.sep)
\
>>> print('csv' + os.sep + 'result.csv')
csv\result.csv
「テキストファイルの入出力」をウィキ内検索
LINE
シェア
Tweet
Intro to Python
記事メニュー

メニュー

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

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

更新履歴

取得中です。


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

    リスト
  • 55日前

    正規表現
  • 84日前

    メニュー
  • 87日前

    インターネット
  • 87日前

    画像
  • 102日前

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

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

    Anaconda
  • 114日前

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

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

    リスト
  • 55日前

    正規表現
  • 84日前

    メニュー
  • 87日前

    インターネット
  • 87日前

    画像
  • 102日前

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

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

    Anaconda
  • 114日前

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

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

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

  1. MadTown GTA (Beta) まとめウィキ
  2. R.E.P.O. 日本語解説Wiki
  3. シュガードール情報まとめウィキ
  4. SYNDUALITY Echo of Ada 攻略 ウィキ
  5. パズル&コンクエスト(Puzzles&Conquest)攻略Wiki
  6. ソードランページ @ 非公式wiki
  7. GTA5 MADTOWN(β)まとめウィキ
  8. 星飼いの詩@ ウィキ
  9. Merge Cooking 攻略 @ ウィキ
  10. ドラゴンボール Sparking! ZERO 攻略Wiki
もっと見る
人気Wikiランキング

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

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

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

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. シャア専用ヅダ - アニヲタWiki(仮)
  3. 参加者一覧 - MadTown GTA (Beta) まとめウィキ
  4. FB777 - MadTown GTA (Beta) まとめウィキ
  5. Lycoris - MadTown GTA (Beta) まとめウィキ
  6. アポカリプスホテル - アニヲタWiki(仮)
  7. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  8. 868 - ストグラ まとめ @ウィキ
  9. NO LIMIT - ストグラ まとめ @ウィキ
  10. 雑談・交流掲示板 - 星の翼(Starward) 日本語wiki @ ウィキ
もっと見る

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

2019 AtWiki, Inc.