私はPythonでプログラミングするのが初めてで、これを行うのに助けが必要です.
次のようないくつかの数値を含むテキスト ファイルがあります。
12 35 21
123 12 15
12 18 89
数式で使用できるようにするには、各行の個々の数値を読み取ることができる必要があります。
私はPythonでプログラミングするのが初めてで、これを行うのに助けが必要です.
次のようないくつかの数値を含むテキスト ファイルがあります。
12 35 21
123 12 15
12 18 89
数式で使用できるようにするには、各行の個々の数値を読み取ることができる必要があります。
Python では、ファイルから行を文字列として読み取ります。次に、文字列を操作して、必要なデータを取得できます。
with open("datafile") as f:
for line in f: #Line is a string
#split the string on whitespace, return a list of numbers
# (as strings)
numbers_str = line.split()
#convert numbers to floats
numbers_float = [float(x) for x in numbers_str] #map(float,numbers_str) works too
私は一連の手順ですべてを実行しましたが、それらを組み合わせている人をよく見かけます。
with open('datafile') as f:
for line in f:
numbers_float = map(float, line.split())
#work with numbers_float here
最後に、それらを数式で使用するのも簡単です。まず、関数を作成します。
def function(x,y,z):
return x+y+z
関数を呼び出してファイルを反復処理します。
with open('datafile') as f:
for line in f:
numbers_float = map(float, line.split())
print function(numbers_float[0],numbers_float[1],numbers_float[2])
#shorthand: print function(*numbers_float)
それを行う別の方法は、numpy
と呼ばれる の関数を使用することですloadtxt
。
import numpy as np
data = np.loadtxt("datafile")
first_row = data[:,0]
second_row = data[:,1]
これは、ファイルに numbers.txt という名前を付けた場合に機能するはずです
def get_numbers_from_file(file_name):
file = open(file_name, "r")
strnumbers = file.read().split()
return map(int, strnumbers)
print get_numbers_from_file("numbers.txt")
list_variable[intergrer] ですべての数値を個別に選択できるようになった後、これは [12, 35, 21, 123, 12, 15, 12, 18, 89] を返す必要があります。
次のコードは機能するはずです
f = open('somefile.txt','r')
arrayList = []
for line in f.readlines():
arrayList.extend(line.split())
f.close()