Python: open dat-files, read data

  • Context: Python 
  • Thread starter Thread starter MaxManus
  • Start date Start date
  • Tags Tags
    Data Python
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
5 replies · 40K views
MaxManus
Messages
268
Reaction score
1

Homework Statement


I have two programs and neither works. In the first program I don't get any autput from andre(f):

f = open("densities.dat", "r")

def andre(f):
densities = {}
for line in f:
density = float(line[12:])
name = line[0:10].strip()
densities[name] = density

return densities

and in the second program I want to be able to use the numbers and get therfor strip "," and make a float

from math import *
f = open("output.txt", "r")
print type(1e-4)
epsilon = []
exact_error = []
n = []
for line in f:
words = line.split(",")
words = line.split()
print float(words[1].strip(","))
 

Attachments

Physics news on Phys.org
I didn't manage to upload densities.dat
densities.dat
air 0.0012
gasoline 0.67
ice 0.9
pure water 1.0
seawater 1.025
human body 1.03
limestone 2.6
granite 2.7
iron 7.8
silver 10.5
mercury 13.6
gold 18.9
platinium 21.4
Earth mean 5.52
Earth core 13
Moon 3.3
Sun mean 1.4
Sun core 160
proton 2.8E+14
 
I got the answear and I will post it later today.
 
so what was the solution after all ?
 
I'm sorry, but I don't longer know and I'm no longer able to find the solution.
Again I should have posted my solution.
 
You opened the file, but you didn't read the file. Normally the sequence goes something like this:

Code:
file = open("filename","r")
lines = file.readlines() # This is what you forgot
file.close()
for line in lines:
   name = float(line.strip().split()[0]) # Or something like this...
   ...