接続の確立
コネクタ内で利用可能なオブジェクトは、"cdata.excel" モジュールからアクセスできます。モジュールのオブジェクトを直接使用するには:
- モジュールを以下のようにインポートします。
import cdata.excel as mod
- 接続を確立するには、以下のような適切な接続文字列を使用してコネクタオブジェクトからconnect() メソッドを呼び出します。
mod.connect("URI=C:\MyExcelWorkbooks\SampleWorkbook.xlsx;")
CData Python Connector for Microsoft Excel を使用すると、ローカルおよびリモートのExcel リソースに接続できます。データソースへの接続に必要なプロパティに加えて、URI プロパティをExcel リソースの場所に設定します。
Cloud-Hosted Microsoft Excel ファイルへの接続
本製品 はさまざまなクラウドストレージ上にホストされたMicrosoft Excel ファイルからデータを取得することができますが、INSERT、UPDATE、DELETE はローカルファイル以外ではサポートされていません。クラウド上のファイルをINSERT、UPDATE、DELETE する必要がある場合は、そのクラウドサービスに対応するCData 本製品 をダウンロードし(ストアドプロシージャでサポートされています)、ローカルファイルの対応する本製品 に変更を加え、そのクラウドソース用のストアドプロシージャを使ってファイルをアップロードできます。
例えば、SharePoint 上に格納されたファイルをアップデートしたい場合、CData SharePoint 本製品 のDownloadDocument プロシージャを使用してMicrosoft Excel ファイルをダウンロードし、CData Microsoft Excel 本製品 でローカルのMicrosoft Excel ファイルをアップデートして、最後にSharePoint 本製品 のUploadDocument プロシージャを使って変更されたファイルをSharePoint にアップロードできます。
URI 接続プロパティの先頭にある一意の接頭辞は、本製品 が対象とするクラウドデータストアを識別するために使用され、残りのパスは目的のフォルダ(1ファイルにつき1テーブル)または単一ファイル(単一テーブル)への相対パスとなります。
Amazon S3
Amazon S3 に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:ConnectionType をAmazon S3 に設定。
- URI:バケット内のExcel ファイル:s3://bucket1/folder1/file.xlsx に設定。
- Volume およびBucket を作成し、そのバケット:s3://linktobucket/ にsymbolic link を作成した後、Cloudera Ozone に保存されているMicrosoft Excel リソースに接続することもできます。
Amazon S3 でホストされているExcel ファイルへの接続および認証について詳しくは、Amazon S3 への接続 を参照してください。
Azure Blob Storage
Azure Blob Storage に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:Azure Blob Storage に設定。
- URI:コンテナの名前およびBlob の名前に設定。例えば、azureblob://mycontainer/myblob/file.xlsx です。
Amazon Blob Storage でホストされているExcel ファイルへの接続および認証について詳しくは、Azure Blob Storage への接続 を参照してください。
Azure Data Lake Storage
Azure Data Lake Storage に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:Azure Data Lake Storage Gen1、Azure Data Lake Storage Gen2、またはAzure Data Lake Storage Gen2 SSL に設定。
- URI:ファイルシステムの名前、Microsoft Excel ファイルにコンタクトするフォルダの名前、およびExcel ファイルの名前 に設定。次に例を示します。
- Gen 1:adl://myfilesystem/folder1/file.xlsx
- Gen 2:abfs://myfilesystem/folder1/file.xlsx
- Gen 2 SSL:abfss://myfilesystem/folder1/file.xlsx
Azure Data Lake Storage でホストされているExcel ファイルへの接続および認証について詳しくは、Azure Data Lake Storage への接続 を参照してください。
Azure File Storage
接続するには次のプロパティを設定します。
- ConnectionType:Azure Files に設定。
- URI:Azure ファイル共有の名前とリソースの名前に設定。例:azurefile://fileShare/remotePath/file.xlsx。
- AzureStorageAccount(必須):Azure ファイルに紐づいているアカウントに設定。
Azure アクセスキーまたはAzure 共有アクセス署名のいずれかで認証できます。次のいずれか1つを設定してください。
- AzureAccessKey:Azure ファイルに紐づいているアクセスキーに設定。
- AzureSharedAccessSignature:Azure ファイルに紐づいている共有アクセス署名に設定。
Box
Box に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:Box に設定。
- URI:ファイルシステムの名前、Microsoft Excel ファイルにコンタクトするフォルダの名前、およびExcel ファイルの名前 に設定。例えば、box://folder1/file.xlsxです。
Box でホストされているExcel ファイルへの接続および認証について詳しくは、Box への接続 を参照してください。
Dropbox
Dropbox に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:Dropbox に設定。
- URI:Excel ファイルへのパス に設定。例えば、dropbox://folder1/file.xlsx です。
Dropbox でホストされているExcel ファイルへの接続および認証について詳しくは、Dropbox への接続 を参照してください。
FTP
本製品 は、FTP サーバーへのプレーンテキスト接続およびSSL/TLS 接続の両方をサポートします。
次の接続プロパティを設定して接続します。
- ConnectionType:FTP またはFTPS のいずれかに設定。
- URI:Excel ファイルへのパスが付いたサーバーのアドレス に設定。例:ftp://localhost:990/folder1/file.xlsx またはftps://localhost:990/folder1。
- User:接続するFTP(S) サーバーのユーザー名に設定。
- Password:接続するFTP(S) サーバーのパスワードに設定。
Google Cloud Storage
Google Cloud Storage に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:Google Cloud Storage に設定。
- URI:ファイルシステムの名前、Microsoft Excel ファイルを含むフォルダの名前、およびExcel ファイルの名前 へのパスに設定。例えば、gs://bucket/remotePath/file.xlsx です。
Google Cloud Storage でホストされているExcel ファイルへの接続および認証について詳しくは、Google Cloud Storage への接続 を参照してください。
Google Drive
Google Drive に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:Google Drive に設定。
- URI:ファイルシステムの名前、Microsoft Excel ファイルにコンタクトするフォルダの名前、およびExcel ファイルの名前 へのパスに設定。例えば、gdrive://folder1/file.xlsx です。
Google Drive でホストされているExcel ファイルへの接続および認証について詳しくは、Google Drive への接続 を参照してください。
HDFS
HDFS に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:HDFS またはHDFS Secure に設定。
- URI:Excel ファイルへのパス に設定。次に例を示します。
- HDFS:webhdfs://host:port/remotePath/file.xlsx
- HDFS Secure:webhdfss://host:port/remotePath/file.xlsx
- Cloudera Ozone(HttpFS ゲートウェイ経由): webhdfs://<Ozone server>:<port>/user/myuser
- Ozone に保存されているMicrosoft Excel ファイルにアクセスするには、Kerberos 認証を使用する必要があります。
- Ozone クラスタにOzone 718.2.x があることを確認してください。
- Cloudera Manager version 7.10.1 が必要です。
HDFS データソースへの接続に使用できる認証方法は、匿名認証とKerberos 認証の2つがあります。
匿名認証
状況によっては、認証接続プロパティなしでHDFS に接続できます。 そのためには、AuthScheme プロパティをNone(デフォルト)に設定します。
Kerberos を使用した認証
認証資格情報が必要な場合、認証にKerberos を使用することができます。 Kerberos で認証する方法についての詳細は、Kerberos の使用 を参照してください。
HTTP Streams
HTTP streams に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:HTTP またはHTTPS に設定。
- URI:HTTP(S) stream のURI に設定。次に例を示します。
- HTTP: http://remoteStream/file.xlsx
- HTTPS: https://remoteStream/file.xlsx
HTTP Streams でホストされているExcel ファイルへの接続および認証について詳しくは、HTTP Streams への接続 を参照してください。
IBM Cloud Object Storage
IBM Cloud Object Storage に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:IBM Object Storage Source に設定。
- URI:バケットおよびフォルダに設定。例えば、ibmobjectstorage://bucket1/remotePath/file.xlsx です。
- Region:このプロパティをIBM インスタンスリージョンに設定。例:eu-gb.
IBM Cloud Object Storage でホストされているExcel ファイルへの接続および認証について詳しくは、IBM Object Storage への接続 を参照してください。
OneDrive
OneDrive に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:OneDrive に設定。
- URI:Excel ファイルへのパス に設定。例えば、onedrive://remotePath/file.xlsx です。
OneDrive でホストされているExcel ファイルへの接続および認証について詳しくは、OneDrive への接続 を参照してください。
OneLake
OneLake に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:OneLake に設定。
- URI:ワークスペース名、アイテム名、アイテムタイプの順に設定。オプションで、ルートフォルダとして使用するフォルダパスを含めます。例:onelake://Workspace/Test.LakeHouse/Files/CustomFolder/file.xlsx。
OneLake でホストされているExcel ファイルへの接続および認証について詳しくは、OneLake への接続 を参照してください。
Oracle Cloud Storage
HMAC で認証するには、次のプロパティを設定します。
- ConnectionType:ConnectionType をOracle Cloud Storage に設定。
- URI:バケット内のExcel ファイル:os://bucket/remotePath/file.xlsx に設定。
- AccessKey: Oracle Cloud のAccess Key に設定。
- SecretKey:Oracle Cloud のSecret Key に設定。
- OracleNamespace:Oracle cloud のnamespace に設定。
- Region(オプション):S3ライクなWeb サービスのホスティングリージョンに設定。
SFTP
SFTP に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:SFTP に設定。
- URI:これをサーバーのアドレスに設定し、ルートフォルダとして使用するフォルダのパスを続けて指定します。例えば、sftp://server:port/remotePath/file.xlsx です。
SFTP でホストされているExcel ファイルへの接続および認証について詳しくは、SFTP への接続 を参照してください。
SharePoint Online
SharePoint Online に格納されているMicrosoft Excel リソースを識別するために以下を設定します。
- ConnectionType:SharePoint REST またはSharePoint SOAP に設定。
- URI:Excel ファイルを含むドキュメントライブラリ に設定。次に例を示します。
- SharePoint Online REST: sprest://remotePath/file.xlsx
- SharePoint Online SOAP: sp://remotePath/file.xlsx
SharePoint Online でホストされているExcel ファイルへの接続および認証について詳しくは、SharePoint Online への接続 を参照してください。
ワークブックへの接続
[接続]セクションのURI には、有効なExcel ファイルを設定する必要があります(ファイルパスを含む)。本製品 は、Excel 2007以降で使用されるOffice Open XML 形式をサポートします。
ワークブックのクエリ
その後、ワークブック内のスプレッドシートと範囲に対して、SELECT、INSERT、UPDATE、およびDELETE ステートメントを実行できます。テーブルとしてのスプレッドシートデータへのクエリについての詳細は、Excel 操作 を参照してください。