SORU
18 Kasım 2012, Pazar


Python - Excel dosyasına Yazmak

Python için yeni duyuyorum. Bir elektronik tablo için benim program bazı veri yazmak istiyorum. Online aradım ve birçok paketleri () xlwt, XlsXcessive, openpyxl gibi görünüyor. Diğer bir csv dosyasına yazma (csv kullanılan ve gerçekten ne olduğunu anlamadım) öneririm.

Program çok basittir. İki liste (kaydır) ve üç değişken (dize) var. İki liste uzunlukları bilmiyorum ve muhtemelen aynı uzunlukta olmayacak.

Düzeni aşağıdaki resimde olduğu gibi olmasını istiyorum:

enter image description here

Pembe sütun ilk liste değerleri ve sütun ikinci liste değerlere sahip olacak yeşil olacak.

Bunu yapmak için en iyi yolu nedir? Teşekkürler.

P. S. ben Windows 7 kullanıyorum ama ille de Ofis bilgisayarları bu programı çalıştıran bir bilgisayarda yüklü istemiyorum.

EDİT

import xlwt

x=1
y=2
z=3

list1=[2.34,4.346,4.234]

book = xlwt.Workbook(encoding="utf-8")

sheet1 = book.add_sheet("Sheet 1")

sheet1.write(0, 0, "Display")
sheet1.write(1, 0, "Dominance")
sheet1.write(2, 0, "Test")

sheet1.write(0, 1, x)
sheet1.write(1, 1, y)
sheet1.write(2, 1, z)

sheet1.write(4, 0, "Stimulus Time")
sheet1.write(4, 1, "Reaction Time")

i=4

for n in list1:
    i = i 1
    sheet1.write(i, 0, n)



book.save("trial.xls")

Tüm önerilerinizi kullanarak bunu yazdım. İşimi görüyor ama biraz daha iyi olabilir. Nasıl bilimsel olarak hücrelerin döngü (list1 değerler) formatında hazırlandı yoksa numara mı? Değerler kesmek istemiyorum. Gerçek değerleri programda kullanılan ondalık sonra yaklaşık 10 basamak var.

CEVAP
18 Kasım 2012, Pazar


pandas DataFrame.to_excel kullanın. Pandalar işlevsel zengin datastructures veri temsil etmek için izin verir ve read in excel izin dosyaları.

İlk bir DataFrame içine verileri dönüştürmek ve bu şekilde bir excel dosyası içine kaydedin:

In [1]: from pandas import DataFrame
In [2]: l1 = [1,2,3,4]
In [3]: l2 = [1,2,3,4]
In [3]: df = DataFrame({'Stimulus Time': l1, 'Reaction Time': l2})
In [4]: df
Out[4]: 
   Reaction Time  Stimulus Time
0              1              1
1              2              2
2              3              3
3              4              4

In [5]: df.to_excel('test.xlsx', sheet_name='sheet1', index=False)

ve çıkan excel dosyası bu gibi görünüyor:

enter image description here

Her iki listede başka pandalar şikayet edecektir eşit uzunlukta olması gerektiğini unutmayın. Bunu çözmek için, None tüm eksik değerleri değiştirin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • PlayStation

    PlayStation

    16 Aralık 2005
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • SRI International

    SRI Internat

    30 NİSAN 2008