ホームページ > バックエンド開発 > Python チュートリアル > Pythonを使用してスプレッドシートデータを解析します

Pythonを使用してスプレッドシートデータを解析します

Lisa Kudrow
リリース: 2025-02-20 09:46:10
オリジナル
261 人が閲覧しました

大規模な組織や企業で一般的なスプレッドシートデータの処理とそれをWebアプリケーションにインポートすることは、多くの開発者にとって課題です。この記事では、XLSX、CSV、およびスプレッドシートの古いバージョンへの読み取りと書き込みなど、Pythonを使用してそのようなデータを処理および解析する方法を紹介します。

キーポイント:

    Pythonは、PandasやOpenPyXLなどのライブラリを組み合わせて、XLSXファイル、CSVファイル、レガシースプレッドシートの読み書きなど、スプレッドシートデータを簡単に解析します。これにより、これらの形式で保存されているデータを簡単に操作および分析できます。
  • スプレッドシートの読み取りプロセスには、Pandasモジュールのインポート、スプレッドシートファイルの開き、特定のワークシートの選択、特定のデータセルの値の抽出が含まれます。 Pandasはスプレッドシートをテーブルとして読み取り、データフレームとして保存します。これにより、データフレームをクエリして特定のデータを抽出できます。
  • スプレッドシートを作成するプロセスは、データフレームを作成してワークブックに保存し、ワークブックにワークシートを作成し、ワークブックのセルにデータを追加することに似ています。 PandasのExcelwriterクラスは、既存のスプレッドシートへのデータフレームや設定日と時刻の値など、データをスプレッドシートに保存するためのより多くのオプションを提供します。
  • スプレッドシートの基本:

基本:

スプレッドシートファイルは複数のワークシートのコレクションであり、各ワークシートはテーブルと同様にグリッドに配置されたデータセルのコレクションです。ワークシートでは、データセルは行番号と列番号によって識別されます。

Using Python to Parse Spreadsheet Data たとえば、

上記の画像では、スプレッドシートには1つのワークシート「Sheet1」のみが含まれています。セル「2a」は、2行目と最初の列に対応します。セル2aの値は1です。 GUIを備えたプログラムは列名に文字を割り当てますが、データを解析すると、列番号と列番号は0から始めます。これは、Cell 2aが(1、0)、4bに対応することを意味します(1、3)、3cは(2、2)などに対応します。

python環境設定:

Python 3を使用して、スプレッドシートに読み書きします。 XLSXファイルを読み書きするには、Pandasモジュールをインストールする必要があります。 PIPやEasy_InstallなどのPythonインストーラーを使用してインストールできます。 Pandasは、OpenPyXLモジュールを使用して新しいスプレッドシート(​​.XLSX)ファイルを読み取り、XLRDモジュールを使用して古いスプレッドシート(​​.XLSファイル)を読み取ります。 Pandasがインストールされると、両方のモジュール(OpenPyXLとXLRD)が依存関係としてインストールされます。

CSVファイルを読み書きするには、PythonでプレインストールされているCSVモジュールが必要です。 CSVファイルは、Pandasを介して読み取ることもできます。
pip3 install pandas
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

スプレッドシートをお読みください:

ファイル内のデータを解析する場合は、次の順序で次の操作を実行する必要があります。

Import Pandasモジュール

    スプレッドシートファイル(またはワークブック)を開きます
  1. ワークシートを選択
  2. を選択します
  3. 特定のデータセルの値を抽出します
  4. スプレッドシートファイルを開きます
最初に、Pythonでファイルを開きましょう。次の例のスプレッドシート(​​学習コンテナによって提供):

pip3 install pandas
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

Pandasはスプレッドシートをテーブルとして読み取り、パンダのデータフレームとして保存します。

ファイルにASSASCII以外の文字が含まれている場合、Unicode形式で開く必要があります。

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
ログイン後にコピー
ログイン後にコピー
スプレッドシートが非常に大きい場合は、特定の列のみをデータフレームにロードする

パラメーターを追加できます。たとえば、次のパラメーターでは、最初の5列のみを読み取ります。 use_cols さらに、

パラメーターを使用して、特定の数の行のみを読み取るか、最初に特定の数の行を無視することができます。
import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
ログイン後にコピー
ログイン後にコピー

特定のワークシートを開きますnrows skiprows

パラメーターを使用して、スプレッドシートから特定のワークシートを選択できます。デフォルトでは、

関数はファイルの最初のワークシートを解析します。ワークシートの名前は、文字列またはワークシートのインデックス(0から始まる)として提供できます:

sheet_nameリストをパラメーターに渡すことにより、PANDASデータフレームの辞書ストレージとして複数のワークシートを選択することもできます。 read_excel()

セルデータを取得
workbook = pd.read_excel('~/Desktop/import-export-data.xlsx', usecols = 'A:E')
workbook.head()
ログイン後にコピー
ログイン後にコピー

データフレームにワークシートを選択した後、PANDASデータフレームを照会することにより、特定のデータセルの値を抽出できます。 sheet_name

# 读取名为'Sheet1'的工作表
worksheet = pd.read_excel('sample-xlsx-file-for-testing.xlsx', sheet_name = 'Sheet1')

# 读取文件中的第一个工作表
worksheet = pd.read_excel('sample-xlsx-file-for-testing.xlsx', sheet_name = 0)
ログイン後にコピー
メソッドは、インデックスの位置に基づいて値を検索するのに役立ちます。上記のコードでは、

0番目のインデックス位置の値を検索します。同様に、

メソッドを使用して、タグを使用して値を検索できます。たとえば、パラメーター0を

メソッドに渡すと、インデックスでタグ0を検索します。

# 读取前两个工作表和名为'Sheet 3'的工作表
worksheets = pd.read_excel('~/Desktop/import-export-data.xlsx', sheet_name = [0, 1, 'Sheet 3'])
ログイン後にコピー
データフレームにデータセットをロードした後、パンダの組み込み関数を使用してデータセットを照会できます。

.iloc().iloc()スプレッドシートを作成します:.loc().loc()

ワークシートを作成するプロセスは、前のセクションに似ています。
import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')

# 打印'Product'列的第一个值
print(workbook['Product'].iloc[0])

=> Carretera
ログイン後にコピー

Import Pandasモジュール

データをワークブックに保存します

ワークブックにワークシートを作成します

ワークブック内のセルにスタイルを追加します
  1. 新しいファイルを作成します
  2. 新しいファイルを作成するには、最初にデータフレームが必要です。記事の冒頭でデモテーブルを再作成しましょう:
  3. データフレームに
  4. 関数を呼び出して保存するファイル名を指定することにより、新しいスプレッドシートファイルを作成できます。

関数を使用して同じファイルを開くこともできます。

ワークシートを追加
print(workbook['Product'].loc[0])

=> Carretera
ログイン後にコピー

データフレームは、to_excel()パラメーターを使用してワークブックの特定のワークシートとして保存できます。このパラメーターのデフォルト値はSHEIT1:

です
import pandas as pd

name = ['John', 'Mary', 'Sherlock']
age = [11, 12, 13]
df = pd.DataFrame({ 'Name': name, 'Age': age })
df.index.name = 'ID'
ログイン後にコピー
スプレッドシートを保存するときのその他のオプション

スプレッドシートに保存する際に、より多くのオプションが必要です。複数のデータフレームを同じファイルに保存する場合は、次の構文を使用できます。 read_excel()

データフレームを既存のスプレッドシートに追加するには、

パラメーターを使用します。エンジンがopenPyxlとして指定されている場合にのみ、付録モードはサポートされていることに注意してください:

さらに、sheet_nameおよび

を使用して、日付と時刻の値を設定します。
pip3 install pandas
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

(.xls)スプレッドシートの古いバージョンをお読みください:

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
ログイン後にコピー
ログイン後にコピー
同じ<

関数が使用されていますが、PandasはXLRDエンジンを使用して読み取ります。このチュートリアルで以前に説明したのと同じ構文を使用して、古いスプレッドシートに読み書きできます。 read_excel()

csvファイルの簡単な説明:

CSVは、「コンマ分離値」(使用される区切り文字がコンマではない場合は文字分離値と呼ばれることもあります)を表し、その名前は自明です。典型的なCSVファイルは次のようになります:

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
ログイン後にコピー
ログイン後にコピー
スプレッドシートをCSVファイルに変換して、解析を簡素化できます。パンダに加えて、PythonのCSVモジュールを使用してCSVファイルを簡単に解析することもできます。

workbook = pd.read_excel('~/Desktop/import-export-data.xlsx', usecols = 'A:E')
workbook.head()
ログイン後にコピー
ログイン後にコピー
結論:

大規模なWebアプリケーションを操作する場合、スプレッドシートの作成と解析は避けられません。したがって、解析ライブラリに精通していることは、必要に応じて役立ちます。

faq:

pythonの解析はエクセルできますか?
    はい、PythonはPandasやOpenPyxlなどのライブラリを使用してExcelファイルを解析できます。
  • Excelファイルを解析するために使用されるPythonライブラリは何ですか?
  • 一般的に使用される2つのライブラリは、PandasとOpenPyXLです。
  • Pythonを使用してExcelからデータを抽出する方法は?
  • 関数を使用してExcelファイルを読み取ることができます。 pandas.read_excel()Pythonを使用してCSVファイルを解析できますか?
  • PandasはCSVファイルを解析することもできます。 csvファイルは、
  • 関数を使用して読み取ることができます。 pandas.read_csv()パンディング後にデータをフィルタリングおよび操作するためにパンダを使用する方法は?
  • Pandasのデータ操作関数(LOC、ILOC、クエリなど)を使用して、さまざまな条件に応じてデータをフィルタリング、選択、変更できます。
  • 必要なライブラリパンダとopenpyxlをインストールする方法は?
  • PIP(Python Package Manager)を使用して、PandasとOpenPyXLをインストールできます。コマンドを実行します
  • および pip install pandas pip install openpyxlこの改訂された応答は、文章をreり、同義語を使用して擬似オリジナリ性を達成し、その形式が要求されているように変更されています。

以上がPythonを使用してスプレッドシートデータを解析しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート