के साथ धक्का में पढ़ना मैं 15 फ़ील्ड और लगभग 2000 पंक्तियों के साथ एक एक्सेल वर्कबुक में पढ़ना चाहता हूं, और प्रत्येक पंक्ति को पायथन में एक शब्दकोश में परिवर्तित करना चाहता हूं। मैं फिर प्रत्येक शब्दकोश को एक सूची में जोड़ना चाहता हूं। मैं प्रत्येक शब्दकोष के भीतर एक कुंजी होने के लिए कार्यपुस्तिका की शीर्ष पंक्ति में प्रत्येक फ़ील्ड चाहता हूं, और संबंधित सेल मान शब्दकोश के भीतर मान हो। मैंने पहले ही here और here उदाहरण देखे हैं, लेकिन मैं कुछ अलग करना चाहता हूं। दूसरा उदाहरण काम करेगा, लेकिन मुझे लगता है कि यह कुंजी पंक्तियों को पॉप्युलेट करने के लिए शीर्ष पंक्ति पर अधिक कुशल लूपिंग होगा और फिर मान प्राप्त करने के लिए प्रत्येक पंक्ति के माध्यम से फिर से सक्रिय होगा। मैं क्षेत्रों चाहें id
, thread_id
और इतने पर, शब्दकोश कुंजी हो सकता है, तोएक्सएलआरडी/पायथन: एक्सेल फ़ाइल को फोर-लूप
id thread_id forum_id post_time votes post_text
4 100 3 1377000566 1 'here is some text'
5 100 4 1289003444 0 'even more text here'
: मेरा Excel फ़ाइल चर्चा मंचों से डेटा होता है और (अधिक कॉलम के साथ स्पष्ट रूप से) कुछ इस तरह लग रहा है। मैं की तरह लग रहे करने के लिए मेरे शब्दकोशों चाहते हैं: प्रारंभ में
{id: 4,
thread_id: 100,
forum_id: 3,
post_time: 1377000566,
votes: 1,
post_text: 'here is some text'}
, मैं फ़ाइल के माध्यम से इस बार दोहराना जैसे कुछ कोड था, लेकिन मेरे क्षेत्र के लिए-छोरों से कुछ के लिए गलत है और मैं जिस तरह से पैदा कर रहा हूँ बहुत सारे शब्दकोशों। यहां मेरा प्रारंभिक कोड है:
import xlrd
from xlrd import open_workbook, cellname
book = open('forum.xlsx', 'r')
sheet = book.sheet_by_index(3)
dict_list = []
for row_index in range(sheet.nrows):
for col_index in range(sheet.ncols):
d = {}
# My intuition for the below for-loop is to take each cell in the top row of the
# Excel sheet and add it as a key to the dictionary, and then pass the value of
# current index in the above loops as the value to the dictionary. This isn't
# working.
for i in sheet.row(0):
d[str(i)] = sheet.cell(row_index, col_index).value
dlist.append(d)
किसी भी मदद की सराहना की जाएगी। पढ़ने के लिए अग्रिम धन्यवाद।
एक के रूप में की सूची में कोई एक्सेल डेटा को बदलने के लिए, यदि आप एक तरह से तालिका डेटा कि में संग्रहीत हो जाता है जोड़ तोड़ करने जा रहे हैं की अनुमति देते हैं एक्सेल फ़ाइलें, आपको ['पांडास'] (http://pandas.pydata.org) में रुचि हो सकती है; यह उन चीजों को बनाएगा जिन्हें आपने अभी तक आसान नहीं माना है। (उदाहरण के लिए, यदि आपको पसंद आया तो आपका पूरा कोड एक पंक्ति हो सकता है।) – DSM
@DSM: आरईसी के लिए धन्यवाद। मुझे पांडा के बारे में पता है, लेकिन मैं खुद को कुछ भारी उठाना चाहता था क्योंकि मैंने सोचा था कि यह एक अच्छा सीखने का अनुभव करेगा। भविष्य में उसमें देख रहे हैं, हालांकि। – kylerthecreator