テキストファイルを読み込んでその内容を別のファイルにコピーするプログラムを作成する必要があります。私はテキストファイルの最後に列を追加し、関数calc_billを使って計算されたintをその列に代入する必要があります。元のファイルの内容を新しいファイルにコピーすることができますが、calc_billを実行するのに必要なintでプログラムを読み込むことができません。 ご協力いただければ幸いです。それは新しいファイルにになっているとおりに、ファイルをコピーしているPythonファイルの読み込みと書き込み
CustomerID Title FirstName MiddleName LastName Customer Type
1 Mr. Orlando N. Gee Residential 297780 302555
2 Mr. Keith NULL Harris Residential 274964 278126
:ここ
は、私はから読んでいるテキストファイルの最初の3行があります。機能していないのは、bill_amount(calc_bill)/ billVal(main)を新しい列の新しいファイルに書き込むことです。ここでは、新しいファイルに予想される出力されます。
CustomerID Title FirstName MiddleName LastName Customer Type Company Name Start Reading End Reading BillVal
1 Mr. Orlando N. Gee Residential 297780 302555 some number
2 Mr. Keith NULL Harris Residential 274964 278126 some number
そしてここでは、私のコードは次のとおりです。
def main():
file_in = open("water_supplies.txt", "r")
file_in.readline()
file_out = input("Please enter a file name for the output:")
output_file = open(file_out, 'w')
lines = file_in.readlines()
for line in lines:
lines = [line.split('\t')]
#output_file.write(str(lines)+ "\n")
billVal = 0
c_type = line[5]
start = int(line[7])
end = int(line[8])
billVal = calc_bill(c_type, start, end)
output_file.write(str(lines)+ "\t" + str(billVal) + "\n")
def calc_bill(customer_type, start_reading, end_reading):
price_per_gallon = 0
if customer_type == "Residential":
price_per_gallon = .012
elif customer_type == "Commercial":
price_per_gallon = .011
elif customer_type == "Industrial":
price_per_gallon = .01
if start_reading >= end_reading:
print("Error: please try again")
else:
reading = end_reading - start_reading
bill_amount = reading * price_per_gallon
return bill_amount
main()
電流出力は何ですか? – Shadow
コンパイル時にエラーはありません。新しく生成されたテキストファイルへの現在の出力は、元の質問の「コード」の2番目のブロックにあります。 –
あなたはそれが期待される出力であると書いています。あなたはそれを修正することがあります:) – Shadow