-3
아래의 Python 코드가 의도 한대로 작동하지 않습니다.파이썬 스크립트 출력의 초보자 문제
최종 출력에 출력 될 것으로 예상되는 모든 행이 누락되었습니다 (output_data[1] == "S"
).
클라이언트 ID를 혼란스럽게하는 게으른 시도가 실패한 것 같습니다.
import csv
TID = 0
ACCT_TYPE = 1
PRODUCT_TYPE = 2
NUM_ACCT_OWNERS = 3
NUM_ACCT = 4
COMBINED_BALANCES = 5
TID_BALANCES = 6
INSURED_BALANCES = 7
ESTIMATED_UNINSURED = 8
FOREIGN_IND = 9
#output_data = [None] * 10
header_row_processed = False
with open("U:\exampletext.txt", 'r') as csvfile:
CIN = csv.reader(csvfile, delimiter="\t")
file_output_data = []
for row in CIN:
if not header_row_processed:
header_row_processed = True
continue
if not row[ACCT_TYPE] == "I" or row[ACCT_TYPE] == "S":
continue
if not row[PRODUCT_TYPE] == "Total":
continue
output_data = [None] * 6
client_id = row[TID]
client_id.replace("0", "x")
client_id.replace("1", "d")
client_id.replace("2", "h")
client_id.replace("3", "g")
client_id.replace("4", "v")
client_id.replace("5", "n")
client_id.replace("6", "m")
client_id.replace("7", "q")
client_id.replace("8", "w")
client_id.replace("9", "r")
client_id.replace("-", "u")
output_data[0] = client_id
output_data[1] = row[ACCT_TYPE]
output_data[2] = row[PRODUCT_TYPE]
output_data[3] = row[COMBINED_BALANCES]
output_data[4] = str(min(float(row[COMBINED_BALANCES])/float(row[NUM_ACCT_OWNERS]), 250000*float(row[NUM_ACCT_OWNERS])))
output_data[5] = str(max(0, (float(row[COMBINED_BALANCES])/float(row[NUM_ACCT_OWNERS]))-(250000*float(row[NUM_ACCT_OWNERS])))*(float(row[NUM_ACCT_OWNERS])))
file_output_data.append("\t".join(output_data))
#file_output_data = ','.join(str(v) for v in value_list)
if output_data[1] == "I":
out_file = open(
'U:\path_one.txt', 'w')
out_file.write("\n".join(file_output_data))
out_file.close()
if output_data[1] == "S":
out_file = open(
'U:\path_two.txt', 'w')
out_file.write("\n".join(file_output_data))
out_file.close()
당신은 들쭉날쭉 한 것처럼 보이지 않습니다. –
예상 출력과 실제 출력을 보여줄 수 있습니까? – Llopis
끔찍한 문제 설명입니다. 코드를 [최소 예제] (http://stackoverflow.com/help/mcve)로 줄이고 들여 쓰기를 수정할 수 있습니까? 당신은 무엇을 기대 했는가, 대신 무엇을 보았습니까? * "실패"는 정확히 무엇을 의미합니까? – jonrsharpe