2017-03-29 20 views

答えて

0

これは、いくつかの助けとなることがあります。あなたはパンダのデータフレームにテーブルをロードすることができます後https://pypi.python.org/pypi/pandas_access

すべてがまっすぐでなければなりません。次に、必要なデータ操作を行い、Accessに送り返します。

+0

答えをいただきありがとうございます。非常に実用的です。 しかし、MS Accessでファイルにアクセスすることはできますが、システムからファイルが見つからないというエラーが表示されます。 この問題について知りましたか? あなたのサポートに感謝します – Basem

1

これを確認してください。また

https://pypi.python.org/pypi/pyodbc/

、アクセス・テーブルからデータを読み込むため、このような何かを試してみてください。

# -*- coding: utf-8 -*- 
import pypyodbc 
pypyodbc.lowercase = False 
conn = pypyodbc.connect(
    r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};" + 
    r"Dbq=C:\Users\Public\Database1.accdb;") 
cur = conn.cursor() 
cur.execute("SELECT CreatureID, Name_EN, Name_JP FROM Creatures"); 
while True: 
    row = cur.fetchone() 
    if row is None: 
     break 
    print(u"Creature with ID {0} is {1} ({2})".format(
     row.get("CreatureID"), row.get("Name_EN"), row.get("Name_JP"))) 
cur.close() 
conn.close() 

または。 。 。すでにAccessを使用している場合は、VBAを使用してください。

Dim outputFileName As String 
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls" 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table2", outputFileName , True 

これもオプションです。 。 。

strPath = "V:\Reports\Worklist_Summary.xlsx" 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "qryEscByDate", strPath 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "qryCreatedByDate", strPath 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "qryClosedByDate", strPath 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "qryCreatedByUsers", strPath 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "qrySummaries", strPath 

または。 。 。いくつかのVBAスクリプトを実行します。 。 。

Option Compare Database 
Option Explicit 
Private Sub Command2_Click() 
    Dim strFile As String 
    Dim varItem As Variant 

    strFile = InputBox("Designate the path and file name to export to...", "Export") 

    If (strFile = vbNullString) Then Exit Sub 

    For Each varItem In Me.List0.ItemsSelected 
     DoCmd.TransferSpreadsheet transferType:=acExport, _ 
            spreadsheetType:=acSpreadsheetTypeExcel9, _ 
            tableName:=Me.List0.ItemData(varItem), _ 
            fileName:=strFile 
    Next 

    MsgBox "Process complete.", vbOKOnly, "Export" 
End Sub 
Private Sub Form_Open(Cancel As Integer) 
    Dim strTables As String 
    Dim tdf As TableDef 


    For Each tdf In CurrentDb.TableDefs 
     If (Left(tdf.Name, 4) <> "MSys") Then 
      strTables = strTables & tdf.Name & "," 
     End If 
    Next 
    strTables = Left(strTables, Len(strTables) - 1) 

    Me.List0.RowSource = strTables 
End Sub 

すべてのデータがエクスポートされると、変換が実行され、読み込み(アクセスまたは別の宛先に戻る)します。

私は、エクスポート手順は必要ないと確信しています。おそらくAccessで行う必要があるすべてのことを、すべてy自体で行うことができます。

+0

OPはpandas(Pythonライブラリ)で動作する必要があるため、OPは上記の方法を最初のステップとして使用し、次のステップとしてpandas 'read_excel'または' read_csv'を使用してデータフレームを読み込みます。 Accessにインポートするには、逆変換を実行してpypyodbcを使用して、pandasダンプの反復SQL追加を実行します: 'to_excel'または' to_csv'。 – Parfait

+0

答えをありがとう。 しかし、MS Accessでファイルにアクセスすることはできますが、システムからファイルが見つからないというエラーが表示されます。 この問題について知りましたか? ご協力いただきありがとうございます – Basem

関連する問題