के भीतर से सीएसवी पढ़ें मेरे पास ज़िप फ़ाइलों (लगभग 10,000 छोटी फाइलें) की निर्देशिका है, प्रत्येक में एक सीएसवी फ़ाइल है जिसे मैं कई अलग-अलग सीएसवी फाइलों को पढ़ने और विभाजित करने की कोशिश कर रहा हूं।ज़िप फ़ाइल
मैं सीएसवी फाइलों को सीएसवी की निर्देशिका से विभाजित करने के लिए कोड लिखने में कामयाब रहा, जो नीचे दिखाया गया है, जो सीएसवी के पहले एट्रिब्यूट को पढ़ता है, और इसे रिलीज सीएसवी को लिखने के आधार पर।
import csv
import os
import sys
import re
import glob
reader = csv.reader(open("C:/Projects/test.csv", "rb"), delimiter=',', quotechar='"')
write10 = csv.writer(open('ouput10.csv', 'w'), delimiter=',', lineterminator='\n', quotechar='"', quoting=csv.QUOTE_NONNUMERIC)
write15 = csv.writer(open('ouput15.csv', 'w'), delimiter=',', lineterminator='\n', quotechar='"', quoting=csv.QUOTE_NONNUMERIC)
headings10=["RECORD_IDENTIFIER","CUSTODIAN_NAME","LOCAL_CUSTODIAN_NAME","PROCESS_DATE","VOLUME_NUMBER","ENTRY_DATE","TIME_STAMP","VERSION","FILE_TYPE"]
write10.writerow(headings10)
headings15=["RECORD_IDENTIFIER","CHANGE_TYPE","PRO_ORDER","USRN","STREET_DESCRIPTION","LOCALITY_NAME","TOWN_NAME","ADMINSTRATIVE_AREA","LANGUAGE"]
write15.writerow(headings15)
for row in reader:
type = row[0]
if "10" in type:
write10.writerow(row)
elif "15" in type:
write15.writerow(row)
तो अब मैं उन्हें पहले निकालने के समय को बर्बाद करने के बजाय ज़िप फ़ाइलों को पढ़ने की कोशिश कर रहा हूं।
यह है कि मैं क्या है अब तक के रूप में कई ट्यूटोरियल निम्नलिखित के रूप में मैं
import glob
import os
import csv
import zipfile
import StringIO
for name in glob.glob('C:/Projects/abase/*.zip'):
base = os.path.basename(name)
filename = os.path.splitext(base)[0]
datadirectory = 'C:/Projects/abase/'
dataFile = filename
archive = '.'.join([dataFile, 'zip'])
fullpath = ''.join([datadirectory, archive])
csv = '.'.join([dataFile, 'csv'])
filehandle = open(fullpath, 'rb')
zfile = zipfile.ZipFile(filehandle)
data = StringIO.StringIO(zfile.read(csv))
reader = csv.reader(data)
for row in reader:
print row
हालांकि पाया है और त्रुटि
फेंक दिया जाता है के बादAttributeError: 'str' ऑब्जेक्ट कोई विशेषता 'पाठक'
हैउम्मीद है कि कोई मुझे दिखा सकता है कि मेरे सीएसवी रीडिंग कोड को कैसे बदला जाए जो ज़िप फ़ाइल को पढ़ने के लिए काम करता है।
बहुत
सराहना टिम
शायद यह है कि आपने कोड को कैसे चिपकाया है, लेकिन नाम लूप के लिए शायद ही कुछ भी आपके पास है। त्रुटि का क्या मतलब है? –