def get_info(file_object):
file_data = []
opened_file = open(file_object, "r")
for line in opened_file:
line = line.split(",")
file_data.append(line)
opened_file.close()
return file_data
def get_avg_mag(file_data):
sum = 0
for line in file_data:
mag = line[4]
mag = float(mag)
sum += mag
print(sum / len(file_data))
जब उपरोक्त कोड चलता है, तो मुझे एक त्रुटि संदेश मिलता है
"ValueError: स्ट्रिंग को फ्लोट में परिवर्तित नहीं कर सका:"
और मैं क्यों नहीं जानता
उत्तर:
जवाब के लिए 0 № 1आपको यह त्रुटि इसलिए मिल रही है क्योंकि जब आप हैंफ़ाइल से पंक्तियों को पढ़ते हुए, आपको प्रत्येक पंक्ति के साथ अंत में एक नई पंक्ति वर्ण भी मिल रहा है। तो आपके अंतिम तत्व में दशमलव मान के साथ एक n होता है और इसलिए ValueError: स्ट्रिंग को फ्लोट में नहीं बदल सकता है।
नीचे के रूप में लाइन = लाइन.स्ट्रिप () जोड़कर नई लाइन खींचने की कोशिश कर रहा है -
for line in opened_file:
line = line.rstrip()
line = line.split(",")
file_data.append(line)