2013-03-17 11 views
6

Şirketimde Linux'u geliştirme ve üretim ortamında kullanıyoruz. Ancak, Windows ve Excel çalıştıran bir makinemiz var çünkü makineye finansal piyasa verilerini almak için bir üçüncü parti uygulama excel eklentisi kullanıyoruz. Eklenti, bu verileri yerel makineye almak ve ardından bir MySql Veritabanına geri göndermek için bazı işlevleri (Excel işlevi gibi) sağlar. Ayrıca, görevi otomasyona sokan, ancak yine de sonuçla tatmin olmayan bir VBA betiği geliştirdik. Bütün bu işleri yapmak Python kullanarak düşünüyor yaşıyorum ama içeri atlayarak önce, ben Excel işlemek içinOtomasyon Excel'den Python'dan

  1. Kullanım piton yapabileceği bir piton paketi (onun eklentilerle) bulmak ve onun işlevlerini gerekir Excel'i açmadan

Teşekkür için ben Excel açmak gerekiyorsa

  • , her gün komut yürütme bu görevi otomatikleştirmek gerekir, ya da günün belirli anı (piyasa verileri beslemek üzere belirli bir zaman gerekir) öneri

  • cevap

    8

    sen Python Win32 uzantıları gerekir - http://sourceforge.net/projects/pywin32/

    Sonra COM kullanabilirsiniz.

    from win32com.client import Dispatch 
    excel = Dispatch('Excel.Application') 
    wb = excel.Workbooks.Open(r'c:\path\to\file.xlsx') 
    ws = wb.Sheets('My Sheet') 
    # do other stuff, just like VBA 
    wb.Close() 
    excel.Quit() 
    

    Komut dosyanızı, gereksinim duyduğunuz zamanlar için Windows Görev Zamanlayıcı'ya koyabilirsiniz.

    +0

    benim yeni soru bakmak olabilir mi? http://stackoverflow.com/questions/15929676/access-data-in-excel-reuter-from-python – nam

    0

    Alternatif olarak, openpyxl'i düşünebilirsiniz.

    import openpyxl 
    wb= openpyxl.Workbook() 
    ws = wb.get_active_sheet() 
    ws.title = 'My Title' 
    wb.save('C:\\Development\\Python\\alpha.xlsx') 
    

    Çalıştığım kitaptan bir bölüm.

    https://automatetheboringstuff.com/chapter12/

    Şans

    İlgili konular