0

以下のコードを使用して、印刷するデータを取得できます。コードを xlrd に切り替えるにはどうすればよいですか?

このコードを変更して、既に開いて表示されている xls ファイルを使用するにはどうすればよいでしょうか。したがって、ファイルは最初に手動で開かれ、次にスクリプトが実行されます。

そして、更新されます。

そしてMysqlにプッシュされます

import os
from win32com.client import constants, Dispatch
import numpy as np

#----------------------------------------
# get data from excel file
#----------------------------------------
XLS_FILE = "C:\\xtest\\example.xls"
ROW_SPAN = (1, 16)
COL_SPAN = (1, 6)
app = Dispatch("Excel.Application")
app.Visible = True
ws = app.Workbooks.Open(XLS_FILE).Sheets(1)
xldata = [[ws.Cells(row, col).Value 
              for col in xrange(COL_SPAN[0], COL_SPAN[1])] 
             for row in xrange(ROW_SPAN[0], ROW_SPAN[1])]
#print xldata
a = np.asarray(list(xldata), dtype='object')
print a
4

2 に答える 2

1

現在のファイルを変更したいということであれば、それは不可能であると私は 99% 確信しており、それは悪い考えであると 100% 確信しています。ファイルを変更するには、書き込み権限が必要です。Excel はファイル ロックを作成して、非同期および同時編集を防止します。ファイルが Excel で開かれている場合、そのファイルを変更する必要があるのは Excel だけです。

現在エディターにあるファイルを読みたいという意味であれば、それは可能です -- 使用中のファイルへの読み取りアクセスを得ることができますが、同様に賢明ではありません -- ユーザーが保存していない場合、ユーザーには 1 つのデータ セットが表示され、別のデータ セットがディスク上に表示されます。

私は VB のファンではありませんが、このアプリケーションにははるかに適しています。マクロを使用して、Excel から直接 MySQL にデータを挿入します。個人的には、挿入権限のみを持つユーザーを作成してから、このチュートリアルを試してみます。

于 2011-08-04T22:58:23.457 に答える
0

既に開いているファイルを操作したい場合は、COM を使用してみませんか?

于 2011-10-19T16:40:09.620 に答える