Pythonがデータファイルを処理する方法はたくさんあります。操作できるファイルの種類には、テキストファイル(csv、txt、jsonなど)、Excelファイル、データベースファイル、API、その他のデータファイルがあります。
Pythonがデータファイルを読み書きできるいくつかの方法を次に示します。
1. read、readline、readlines
-
read():ファイルの内容全体を一度に読み取ります。読み取り(サイズ)メソッドを使用することをお勧めします。サイズが大きいほど、実行時間が長くなります。
-
readline():一度に1行ずつ読み取ります。メモリが不足しているときに使用され、通常は使用されません
-
readlines():ファイルのコンテンツ全体を一度に読み取り、走査を容易にするために行ごとにリストに戻ります
2.組み込みモジュールcsv
Pythonには、csvファイルを読み書きするための組み込みのcsvモジュールがあります。csvはカンマ区切りファイルであり、データサイエンスで最も一般的なデータストレージ形式の1つです。csvモジュールは、さまざまなボリュームデータの読み取りおよび書き込み操作を簡単に完了することができますが、大量のデータは、コードレベルでの最適化を必要とします。
-
csvモジュール読み取りファイル
# 读取csv文件
import csv
with open('test.csv','r') as myFile:
lines=csv.reader(myFile)
for line in lines:
print (line)
-
csvモジュール書き込みファイル
import csv
with open('test.csv','w+') as myFile:
myWriter=csv.writer(myFile)
# writerrow一行一行写入
myWriter.writerow([7,8,9])
myWriter.writerow([8,'h','f'])
# writerow多行写入
myList=[[1,2,3],[4,5,6]]
myWriter.writerows(myList)
3. numpyライブラリ
-
loadtxtメソッド
loadtxtは、テキストデータ(txt、csvなどを含む)および.gzまたは.bz2形式の圧縮ファイルを読み取るために使用されます。ただし、ファイルデータの各行に同じ数の値が必要です。
import numpy as np
# loadtxt()中的dtype参数默认设置为float
# 这里设置为str字符串便于显示
np.loadtxt('test.csv',dtype=str)
# out:array(['1,2,3', '4,5,6', '7,8,9'], dtype='<U5')
-
ロード方法
numpyのは、負荷読み込み専用.npy
、 .npz
またはpickled
永続的なファイルを。
import numpy as np
# 先生成npy文件
np.save('test.npy', np.array([[1, 2, 3], [4, 5, 6]]))
# 使用load加载npy文件
np.load('test.npy')
'''
out:array([[1, 2, 3],
[4, 5, 6]])
'''
-
fromfile方法
fromfileメソッドは単純なテキストデータまたはバイナリデータを読み取ることができ、データはtofileメソッドによって保存されたバイナリデータから取得されます。データを読み取るとき、ユーザーは要素のタイプを指定し、配列の形状を適切に変更する必要があります。
import numpy as np
x = np.arange(9).reshape(3,3)
x.tofile('test.bin')
np.fromfile('test.bin',dtype=np.int)
# out:array([0, 1, 2, 3, 4, 5, 6, 7, 8])
4. pandasライブラリ
パンダは、データ処理に最も一般的に使用される分析ライブラリの1つであり、さまざまな形式のデータファイルを読み取ったり、一般にデータフレーム形式を出力したりできます。例:txt、csv、excel、json、クリップボード、データベース、html、hdf、寄木細工、ピクルスファイル、sas、stataなど
-
read_csvメソッド read_csvメソッドは、csv形式のファイルを読み取り、データフレーム形式を出力するために使用されます。
import pandas as pd
pd.read_csv('test.csv')
-
read_excelメソッド
xlsx、xls、xlsm形式を含むExcelファイルを読み取る
import pandas as pd
pd.read_excel('test.xlsx')
-
read_tableメソッド
sepパラメータ(セパレータ)を制御してテキストファイルを読み取る
-
read_jsonメソッド
json形式のファイルを読み取る
df = pd.DataFrame([['a', 'b'], ['c', 'd']],index=['row 1', 'row 2'],columns=['col 1', 'col 2'])
j = df.to_json(orient='split')
pd.read_json(j,orient='split')
-
read_htmlメソッド
HTMLテーブルを読む
-
read_clipboardメソッド
クリップボードの内容を読む
-
read_pickleメソッド
plckled永続ファイルを読み取る
-
read_sqlメソッド
データベースに接続した後、データベースデータを読み取り、sqlステートメントで渡すことができます。
-
read_dhfメソッド
大きなファイルの読み取りに適したhdf5ファイルを読み取る
-
read_parquetメソッド
寄木細工のファイルを読む
-
read_sasメソッド
sasファイルを読み取る
-
read_stataメソッド
stataファイルを読み取る
-
read_gbqメソッド
Google BigQueryデータを読み取る
パンダ学習ウェブサイト:https://pandas.pydata.org/
5. Excelファイルの読み取りと書き込み
Excelファイルを読み書きするためのPythonライブラリは多数あり、前述のパンダの他に、xlrd、xlwt、openpyxl、xlwingsなどがあります。
主なモジュール:
-
xlrdライブラリ
Excelからデータを読み取り、xls、xlsxをサポート
-
xlwtライブラリ
Excelを変更し、XLSX形式の変更をサポートしない
-
xlutilsライブラリ
xlwおよびxlrdで、既存のファイルを変更する
-
openpyxl
主にXLSX形式でExcelを読んで編集する
-
xlwings
xlsx、xls、xlsm形式ファイルなどの形式の読み取り、書き込み、変更
-
xlsxwriter
Excelテーブルの生成、データの挿入、アイコンの挿入、その他のテーブル操作に使用され、読み取りをサポートしていません
-
Microsoft Excel API
pywin32をインストールし、Excelプロセスと直接通信する必要があり、Excelで実行できるすべてのことを実行できますが、時間がかかります
6.データベースを操作する
Pythonは、ほぼすべてのデータベースの相互作用をサポートしています。データベースに接続した後、SQLステートメントを使用して、追加、削除、変更、チェックを行うことができます。
主なモジュール:
-
pymysql
mysqlデータベースとの対話に使用されます
-
sqlalchemy
mysqlデータベースとの対話に使用されます
-
cx_Oracle
Oracleデータベースとの対話に使用
-
sqlite3
sqliteデータベースとの対話用の組み込みライブラリ
-
pymssql
SQLサーバーデータベースとのやり取りに使用
-
ピモンゴ
mongodb非リレーショナルデータベースとのやり取りに使用
-
繰り返す、ピレディス
redis非リレーショナルデータベースとのやり取りに使用