के साथ सीएसवी फ़ाइल अपलोड और पार्स करें, मुझे आश्चर्य है कि अगर कोई भी पाइथन और जीई की बेहतर समझ के साथ मेरी मदद कर सकता है। मैं एक फॉर्म से जीएस डेटास्टोर में एक सीएसवी फ़ाइल अपलोड कर रहा हूं।Google ऐप इंजन
class CSVImport(webapp.RequestHandler):
def post(self):
csv_file = self.request.get('csv_import')
fileReader = csv.reader(csv_file)
for row in fileReader:
self.response.out.write(row)
मैं एक ही समस्या है कि किसी यहां उल्लेख में चल रहा हूँ - http://groups.google.com/group/google-appengine/browse_thread/thread/bb2d0b1a80ca7ac2/861c8241308b9717
है, csv.reader प्रत्येक चरित्र और नहीं लाइन पर पुनरावृत्ति है। एक Google इंजीनियर ने इस स्पष्टीकरण को छोड़ा:
कॉल self.request.get ('csv') एक स्ट्रिंग देता है। जब आप स्ट्रिंग पर फिर से सक्रिय होते हैं, तो आप पात्रों पर फिर से चलते हैं, रेखाओं पर नहीं।
class ProcessUpload(webapp.RequestHandler):
def post(self):
self.response.out.write(self.request.get('csv'))
file = open(os.path.join(os.path.dirname(__file__), 'sample.csv'))
self.response.out.write(file)
# Iterating over a file
fileReader = csv.reader(file)
for row in fileReader:
self.response.out.write(row)
# Iterating over a string
fileReader = csv.reader(self.request.get('csv'))
for row in fileReader:
self.response.out.write(row)
मैं वास्तव में स्पष्टीकरण का पालन नहीं करते हैं, और यह लागू करने असफल रहा था: आप अंतर यहाँ देख सकते हैं। क्या कोई इस बारे में स्पष्ट स्पष्टीकरण प्रदान कर सकता है और एक प्रस्तावित फिक्स?
धन्यवाद, अगस्त
स्पष्टीकरण के लिए धन्यवाद, यह अब मेरे लिए बहुत अधिक समझ में आता है। –
मैं .split ('\ n') के बजाय .splitlines() का उपयोग करने पर विचार करूंगा –