मैं एक CSV आयात करने के लिए कोशिश कर रहा हूँ आयात करने, इस कोड का उपयोग:UnicodeDecodeError अजगर 3 में जब एक CSV फ़ाइल
foo,bar,test,1,2
this,wont,work,because,α
और त्रुटि:
import csv
import sys
def load_csv(filename):
# Open file for reading
file = open(filename, 'r')
# Read in file
return csv.reader(file, delimiter=',', quotechar='\n')
def main(argv):
csv_file = load_csv("myfile.csv")
for item in csv_file:
print(item)
if __name__ == "__main__":
main(sys.argv[1:])
यहाँ मेरी csv फ़ाइल का नमूना दिया गया :
Traceback (most recent call last):
File "test.py", line 22, in <module>
main(sys.argv[1:])
File "test.py", line 18, in main
for item in csv_file:
File "/usr/lib/python3.2/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 40: ordinal not in range(128)
जाहिर है, यह सीएसवी के अंत में चरित्र मार रहा है और कहा कि त्रुटि फेंक रहा है, लेकिन मैं इसे ठीक करने के लिए के रूप में एक नुकसान में हूँ । कोई मदद?
यह वह जगह है:
Python 3.2.3 (default, Apr 23 2012, 23:35:30)
[GCC 4.7.0 20120414 (prerelease)] on linux2
फ़ाइल के लिए एन्कोडिंग सेटिंग कुछ भी नहीं इस मुद्दे को ठीक करने के लिए करता है ... 'फ़ाइल = खुला (फ़ाइल नाम, 'आर', एन्कोडिंग = 'utf-8')' अभी भी मुझे देता है 'UnicodeDecodeError: 'ascii' कोडेक स्थिति 40 में बाइट 0xce को डीकोड नहीं कर सकता: क्रमशः सीमा में नहीं (128) ' –
आह, इसे 'प्रिंट' के साथ करना है जो यूनिकोड वर्ण प्रदर्शित करने में सक्षम नहीं है। क्वारा पर इस प्रश्न का उत्तर हो सकता है - यह सुंदर प्रिंटर का उपयोग करता है: http://www.quora.com/How-do-you-print-a-python-unicode-data- संरचना – TheDude
मुझे लगता है कि त्रुटि में कुछ भी नहीं है प्रिंट के साथ सब कुछ करो। प्रिंट() भी चलने से पहले, यह लूप की शुरुआत में त्रुटि को मार रहा है। पीप्रिंट का उपयोग करके आपका संपादित नमूना कोड पहले जैसा ही त्रुटि उत्पन्न करता है, और इस दावे को और मजबूत करता है। मैं स्टंप हो गया हूँ। –