मैं एक फ़ाइल कैसे खोलूं जो कि पायथन में पढ़ने के लिए एक्सेल फ़ाइल है?मैं पायथन में एक्सेल फ़ाइल कैसे खोल सकता हूं?
मैंने पाठ फ़ाइलों को खोला है, उदाहरण के लिए, पढ़ने के आदेश के साथ sometextfile.txt
। मैं एक्सेल फ़ाइल के लिए ऐसा कैसे करूं?
मैं एक फ़ाइल कैसे खोलूं जो कि पायथन में पढ़ने के लिए एक्सेल फ़ाइल है?मैं पायथन में एक्सेल फ़ाइल कैसे खोल सकता हूं?
मैंने पाठ फ़ाइलों को खोला है, उदाहरण के लिए, पढ़ने के आदेश के साथ sometextfile.txt
। मैं एक्सेल फ़ाइल के लिए ऐसा कैसे करूं?
यह एक सादा पाठ फ़ाइल खोलने के रूप में सीधा नहीं है और इसे कुछ प्रकार के बाहरी मॉड्यूल की आवश्यकता होगी क्योंकि ऐसा करने के लिए कुछ भी नहीं बनाया गया है। यहाँ कुछ विकल्प हैं:
http://docs.python.org/library/csv.html
:संभव हो तो, आप एक CSV फ़ाइल के रूप में एक्सेल स्प्रेडशीट निर्यात करने और फिर इसे पढ़ने के लिए निर्मित अजगर सीएसवी मॉड्यूल का उपयोग कर विचार कर सकते हैं
ठीक है, मैं वास्तव में सीएसवी सामग्री को समझ नहीं पा रहा हूं कि मेरे पास एक सीएसवी मॉड्यूल के रूप में मेरी एक्सेल फ़ाइल को कैसे खोलें? मेरे पास एक ऐसा प्रोग्राम है जो मैं txt फ़ाइलों के लिए चाहता हूं और मैं इसे करना चाहता हूं इस एक्सेल फ़ाइल के लिए वही बात ... जो जाने का सबसे अच्छा तरीका है? क्या आप इस पर विस्तृत जानकारी दे सकते हैं? – novak
या तो आप किसी तृतीय पक्ष पायथन मॉड्यूल का उपयोग xlrd जैसे कर सकते हैं, या अपनी एक्सेल फ़ाइल को एक सामान्य एक्सेल फ़ाइल के बजाय एक CSV फ़ाइल सहेज सकते हैं। मुझे लगता है कि आप जिस बिंदु को याद कर रहे हैं वह यह है कि एक एक्सेल फ़ाइल में सादा पाठ फ़ाइल के समान नहीं है। नोटपैड में एक्सेल दस्तावेज़ खोलें और आप देखेंगे कि मेरा क्या मतलब है। आपको या तो फ़ाइल को सादे-पाठ प्रारूप में सहेजने की आवश्यकता है जैसे सीएसवी (अल्पविराम से अलग मूल्य), जो कि पाइथन के साथ पढ़ना आसान है, या एक तृतीय पक्ष मॉड्यूल स्थापित करें और उपयोग करें जो आपके लिए एक्सेल फ़ाइल को पार्स कर सकता है। –
मेरी समस्या यह है कि फ़ाइल वास्तव में वास्तव में बड़ी है। अगर मैं फ़ाइल को पूरी तरह से खोल नहीं सकता तो मैं फ़ाइल को CSV प्रारूप के रूप में कैसे सहेज सकता हूं? – novak
the xlrd library आज़माएं।
[संपादित करें] - जो मैं आपकी टिप्पणी से देख सकता हूं, नीचे स्निपेट की तरह कुछ चाल चल सकता है। मैं यहां मान रहा हूं कि आप 'जॉन' शब्द के लिए सिर्फ एक कॉलम खोज रहे हैं, लेकिन आप इसे और अधिक जोड़ सकते हैं या इसे अधिक सामान्य कार्य में बना सकते हैं।
from xlrd import open_workbook
book = open_workbook('simple.xls',on_demand=True)
for name in book.sheet_names():
if name.endswith('2'):
sheet = book.sheet_by_name(name)
# Attempt to find a matching row (search the first column for 'john')
rowIndex = -1
for cell in sheet.col(0): #
if 'john' in cell.value:
break
# If we found the row, print it
if row != -1:
cells = sheet.row(row)
for cell in cells:
print cell.value
book.unload_sheet(name)
मुझे लगता है कि यह ऐसा हो सकता है जो मैं करना चाहता हूं: xlrd आयात से open_workbook पुस्तक = open_workbook (' simple.xls 'book.sheet_names() में, on_demand = सच) नाम के लिए: अगर name.endswith (' 2 '): चादर = book.sheet_by_name (नाम) प्रिंट sheet.cell_value (0,0) book.unload_sheet (नाम) big_files.py लेकिन मैं नहीं चाहता कि यह अंत में उपयोग करे, मैं चाहता हूं कि यह उन रेखाओं को ढूंढें और मुद्रित करें जिनमें कणिका नाम हो ... जैसे कि मैं इसे विशाल एक्सेल शीट की रेखा मुद्रित करना चाहता हूं जॉन का डेटा है और बॉब नहीं है। मदद? – novak
मेरा सुझाव है कि आप इसे एक अलग प्रश्न के रूप में पोस्ट करें और कोड को कोड ब्लॉक में रखें। –
यह संबंधित प्रश्नों की श्रृंखला का दूसरा प्रश्न है; तीसरे प्रश्न में यह पता चला है कि असली एक्सेल फ़ाइल कथित तौर पर 1.5 जीबी है और कंप्यूटर की मेमोरी को "पर्याप्त नहीं" के रूप में वर्णित किया गया है ... देखें http://stackoverflow.com/questions/3241039/how-do-i- एक्स्ट्रा-विशिष्ट-लाइन-ऑफ-डेटा-ए-विशाल-एक्सेल-शीट-उपयोग-पायथन –
आप के रूप में अच्छी pandas
package उपयोग कर सकते हैं ....
आप एकाधिक पत्रक के साथ फ़ाइल एक Excel के साथ काम कर रहे हैं, तो आप उपयोग कर सकते हैं:
import pandas as pd
xl = pd.ExcelFile(path + filename)
xl.sheet_names
>>> [u'Sheet1', u'Sheet2', u'Sheet3']
df = xl.parse("Sheet1")
df.head()
df.head()
पहले 5 पंक्तियों प्रिंट होगा आपकी एक्सेल फ़ाइल
यदि आप एकल शीट के साथ एक्सेल फ़ाइल के साथ काम कर रहे हैं, तो आप बस इसका उपयोग कर सकते हैं:
import pandas as pd
df = pd.read_excel(path + filename)
print df.head()
कई चादरों के साथ काम करते समय यह आदर्श है। –
यह समाधान मेरा अपवर्तनीय हो जाता है। openpyxl के साथ, मैं निम्न समस्या में चल रहा हूं "InvalidFileException: openpyxl पुरानी .xls फ़ाइल प्रारूप का समर्थन नहीं करता है, कृपया इस फ़ाइल को पढ़ने के लिए xlrd का उपयोग करें, या इसे हालिया .xlsx फ़ाइल स्वरूप में कनवर्ट करें"। दूसरी ओर पांडा दोनों .xls और .xlsx फ़ाइलों को संभालती है ... भी, एक संपूर्ण तालिका को पढ़ने से कोड की केवल एक पंक्ति होती है। – nathanielng
एक्सेल फ़ाइलों को पढ़ने के लिए आपको वैकल्पिक निर्भरता ['xlrd'] (https://pypi.python.org/pypi/xlrd) स्थापित करने की आवश्यकता होगी, और [' xlwt'] (https://pypi.python.org/ pypi/xlwt) एक्सेल फ़ाइलों को लिखने के लिए। – Flimm
आप xlpython पैकेज का उपयोग कर सकते हैं जिसके लिए केवल xlrd की आवश्यकता है। इसे यहां पाएं https://pypi.python.org/pypi/xlpython और उसके यहाँ https://github.com/morfat/xlpython
प्रलेखन वहाँ openpxyl पैकेज है:
>>> from openpyxl import load_workbook
>>> wb2 = load_workbook('test.xlsx')
>>> print wb2.get_sheet_names()
['Sheet2', 'New Title', 'Sheet1']
>>> worksheet1 = wb2['Sheet1'] # one way to load a worksheet
>>> worksheet2 = wb2.get_sheet_by_name('Sheet2') # another way to load a worksheet
>>> print(worksheet1['D18'].value)
3
>>> for row in worksheet1.iter_rows():
>>> print row[0].value()
import pandas as pd
import os
files = os.listdir('path/to/files/directory/')
desiredFile = files[i]
filePath = 'path/to/files/directory/%s'
Ofile = filePath % desiredFile
xls_import = pd.read_csv(Ofile)
अब आप पांडा DataFrames की शक्ति का उपयोग कर सकते हैं!
प्रश्न एक्सेल फ़ाइल पढ़ने के बारे में है, न कि अल्पविराम से अलग टेक्स्ट फ़ाइल। प्रतीत होता है कि पांडों के लिए एक कार्य है ('pandas.read_excel')। – Bart
यह कोड मेरे लिए पाइथन 3.5.2 के साथ काम करता है। यह खुलता है और बचाता है और एक्सेल करता है। मैं वर्तमान में फ़ाइल में डेटा को बचाने के लिए पर काम कर रहा हूँ, लेकिन इस कोड है:
import csv
excel = csv.writer(open("file1.csv", "wb"))
कौन सा Excel के संस्करण? यदि आप ईसेल 2007 या 2010 द्वारा बनाई गई एक्सेल फ़ाइलों को खोलने के लिए स्वयं को सीमित कर सकते हैं, तो आपको अधिक या सभी फ़ाइल को XML के रूप में पार्स करने में सक्षम होना चाहिए। –
आईटी का एक्सेल 2003 :( – novak