के रूप में पढ़ा गया है मुझे xlrd में Excel से किसी विशेष सेल मान को पढ़ने में कठिनाई हो रही है। जो भी मूल्य मैं पढ़ रहा हूं (दिनांक मान) किसी संख्या में परिवर्तित हो रहा है। मुझे पता है कि इसे एक पायथन दिनांक प्रारूप में बदलने के लिए समाधान हैं, लेकिन क्या मैं सीधे xlrd में स्ट्रिंग मान पढ़ सकता हूं?पायथन xlrd स्ट्रिंग
उत्तर
xlrd तारीखों को फ्लोट में परिवर्तित नहीं करता है। एक्सेल स्टोर फ्लोट के रूप में तारीखों।
(पृष्ठ नीचे स्क्रॉल) the xlrd documentation से हवाला देते हुए: एक्सेल स्प्रेडशीट
हकीकत में में
तिथियाँ, ऐसी कोई बातें हैं। आपके पास फ्लोटिंग पॉइंट नंबर और पवित्र आशा है। एक्सेल तिथियों के साथ कई समस्याएं हैं:
(1) तिथियां अलग डेटा प्रकार के रूप में संग्रहीत नहीं हैं; उन्हें बिंदु संख्याओं के रूप में संग्रहीत किया जाता है और आपको पर एक्सेल और/या (बी) पर लागू "संख्या प्रारूप" पर भरोसा करना पड़ता है, यह जानने के लिए कि कोशिकाओं को में दिनांक होने चाहिए। यह मॉड्यूल द्वारा को प्रत्येक नंबर सेल पर लागू प्रारूप का निरीक्षण करने में सहायता करता है; यदि यह एक दिनांक प्रारूप प्रतीत होता है, तो सेल को संख्या के बजाय दिनांक के रूप में वर्गीकृत किया गया है।
सेल क्लास पर अनुभाग और विभिन्न शीट विधियों को भी देखें जो सेल (टेक्स्ट, संख्या, दिनांक, बूलियन इत्यादि) के प्रकार को निकालें।
यह भी ट्यूटोरियल पढ़ें कि आप www.python-excel.org
मुझे आश्चर्य है कि एक्सेल कैसे जानता है जब कोशिकाओं को तिथियों के रूप में व्याख्या किया जाना चाहिए - ऐसा प्रतीत होता है कि xlrd को अनुमान लगाने के लिए मजबूर होना पड़ता है। – nobar
@ नोबार: एक्सेल में वही जानकारी है जो xlrd करता है। दोनों "संख्या प्रारूप –
पर आत्मनिरीक्षण पर भरोसा करते हैं, वास्तव में, एक्सेल फाइलें प्रत्येक सेल मान के अतिरिक्त एक सेल प्रकार संग्रहीत करती हैं। प्रत्येक प्रकार को पूर्णांक के रूप में संग्रहीत किया जाता है, जिसे आप xlrd में शीट.cell_type (rowNumber, columnNumber) के साथ एक्सेस कर सकते हैं। 0 खाली है, 1 टेक्स्ट है, 2 एक संख्या है, 3 एक तिथि है। – Brian
अच्छी तरह से, जैसा कि आप कहते हैं:
चादर 1: लिस्टिंग
name latitude longitude status color date
Mount Hood 45.3736 121.6925 active red 01-ene-01
Mount Jefferson 44.6744 121.7978 dormant yellow 23-sep-05
Three-Fingered 44.478 121.8442 extinct green
Mount Washington 4.3325 121.8372 extinct green
South Sister 44.1036 121.7681 active red
Diamond Peak 43.5206 122.1486 extinct green
Mount Thielsen 43.1531 122.0658 extinct green
Mount Scott 42.923 122.0163 dormant yellow
Mount McLoughlin 2.445 122.3142 dormant yellow
चादर 2:
# reading from a xls file (no .xlsx files, no writing!)
import xlrd # install xlrd from http://pypi.python.org/pypi/xlrd
wb = xlrd.open_workbook("YOUR_FILE.xls") # xls file to read from
sh1 = wb.sheet_by_index(0) # first sheet in workbook
sh2 = wb.sheet_by_name('colors') # sheet called colors
# print all rows in first sheet
print "content of", sh1.name # name of sheet
for rownum in range(sh1.nrows): # sh1.nrows -> number of rows (ncols -> num columns)
print sh1.row_values(rownum)
# rowx and colx (x for Excel) start at 1!
print "row3 col 2:", sh1.cell(rowx=3,colx=2).value
col = sh1.col_values(0) # column 0 as a list of string or numbers
print '"A" column content:' # python index 0, 1.colunm, called A
for cell in col: print cell
print sh1.col_values(1) # 2. column, note mix of string (header) and numbers!
इस उदाहरण XLS है के लिए
रंग
status color
active red
dormant yellow
extinct green
जब मैं sh1.row_values (rownum) करता हूं तो मुझे पहले से ही फ़्लोटिंग पॉइंट में परिवर्तित मानों के साथ सूची मिल रही है। – Rnet
एक्सेल स्टोर int दोनों संख्याओं के रूप में तारीखों ernally और .xls फ़ाइलों में और फिर प्रदर्शित करते समय तदनुसार उन्हें स्वरूपित करता है। इस प्रकार, यदि आप xlrd के साथ उन्हें naively पढ़ते हैं, तो आपको या तो संख्या या तार मिलेंगे। आपको क्या करना चाहिए यह जांचना है कि सेल का प्रकार क्या है और फिर नंबर को स्वयं परिवर्तित करें। या तो xlrd के अंतर्निहित फ़ंक्शंस, जैसे कि xldate_as_tuple()
, या अपने स्वयं के फ़ंक्शन का उपयोग कर।
कुछ और विवरणों के लिए this question का संदर्भ लें।
- 1. पायथन xlrd एक्सेल टेक्स्ट सेल
- 2. पायथन xlrd: चेतावनी संदेश दबाएं
- 3. xlrd
- 4. पायथन xlrd असमर्थित प्रारूप, या दूषित फ़ाइल।
- 5. पायथन xlrd: निकाले गए मूल्य को कैसे परिवर्तित करें?
- 6. पायथन: स्ट्रिंग
- 7. पायथन - स्ट्रिंग
- 8. पायथन स्ट्रिंग
- 9. पायथन: स्ट्रिंग
- 10. पायथन स्ट्रिंग स्लाइस इंडेक्स - स्ट्रिंग
- 11. पायथन
- 12. पायथन स्ट्रिंग प्रतिस्थापन
- 13. पायथन "स्ट्रिंग" मॉड्यूल?
- 14. पायथन स्ट्रिंग प्रिंट [u'String ']
- 15. पायथन: एक हेक्स स्ट्रिंग
- 16. पायथन रेगेक्स स्ट्रिंग मिलान?
- 17. पायथन: कैसे एक स्ट्रिंग
- 18. पायथन स्ट्रिंग मैच
- 19. पायथन यूनिकोड स्ट्रिंग आकार
- 20. पायथन सशर्त स्ट्रिंग स्वरूपण
- 21. उन्नत पायथन स्ट्रिंग खोज
- 22. पायथन ओवरराइडिंग स्ट्रिंग __hash__
- 23. पायथन - संकुचित Ascii स्ट्रिंग
- 24. पायथन स्ट्रिंग concatenation भ्रम
- 25. पायथन स्ट्रिंग एन्कोड विधि
- 26. पायथन यूनिकोड स्ट्रिंग
- 27. पायथन में शफल स्ट्रिंग
- 28. पायथन: यूनिकोड स्ट्रिंग बनाना
- 29. एक पायथन स्ट्रिंग
- 30. बाइट स्ट्रिंग बनाम यूनिकोड स्ट्रिंग। पायथन
से एक्सेस कर सकते हैं, इस तरह एक्सेल काम करता है। अफसोस की बात है, एक्सेल द्वारा संख्याओं के रूप में कई मान संग्रहीत किए जाते हैं। कृपया एक्सएलआरडी में पढ़ रहे सेल वैल्यू का ब्योरा दें। सेल प्रकार को विशेष रूप से प्रिंट करें और इसे अपने प्रश्न में शामिल करें। –