excel
.xlsx dosyalarıyla ilgilenmek için openpyxl
kullanıyorum. Dosyalardaki bazı sütunlar farklı sayı türlerine sahip hücreler içerir. Number_type ve değeri, Cell nesnesinden alabilirim, ancak ,string dizesinin kolay bir yolunu bulamıyor. Belgeler ve openpyxl kaynaklarına birkaç saat ayırdım ama hiçbir şey bulamadım.Openpyxl ile hücre değeri için görüntülenen dize alın
Mesela ben ipython bu çıktıyı almak:
In [6]: ws['D4'].value
Out[6]: 0.02
In [7]: ws['D4'].data_type
Out[7]: 'n'
In [8]: ws['D4'].number_format
Out[8]: '0.0%'
In [9]: ws['D2'].number_format
Out[9]: u'yyyy"\u5e74"m"\u6708"d"\u65e5";@'
In [10]: ws['D2'].value
Out[10]: 42370L
nasıl '2%'
ve u'2016\u5e741\u67081\u65e5'
gibi bir dize alabilirim? Hücreler bazı özel hücre formatları olabilir, bu yüzden genel bir yol tercih ederim.
Verileri kendim biçimlendirmem gerek. MSDN'de [bu] gibi bazı özellikler buldum (https://msdn.microsoft.com/en-us/library/dd922181 (v = office.12) .aspx). Ancak, çoğunlukla, dosyalardan nasıl veri alacağımıza ve hala verilerin nasıl biçimlendirileceğine emin değilim. Bir şey mi eksik? Veya hücre verilerinin formatlanması ile ilgili ayrıntılar bu özelliklerin kapsamı dışında mı? –
Biçimi herhangi bir ayrıntıda kullanmaya hiç bakmadım. Bir şeyin tarih mi yoksa saat olup olmadığını kontrol etmek için sadece sayı biçimlerini kullanırız. En iyi bahsiniz, §18.8.30 şartnamesinin ilgili kısmına bakmaktır. Bu Python'da uygun bir şey oluşturmanıza izin vermelidir. –