首页 > 解决方案 > Python 和 csv 文件

问题描述

所以我正在做一个 python 任务,我被卡住了。作业...“在这个项目中,您将编写一个程序,该程序读取银行帐户数据文件,修改数据并将新数据写入新文件。这个名为 accounts.csv 的文件将是一个 CSV(逗号分隔值)格式的文件,其中包含以下信息字段:

accountNumber, firstName, lastName, accountBalance

您的程序将从该文件中读取,将每行 CSV 数据处理成一个列表,确保正确转换数据类型。这将产生一个列表列表,其中每个子列表代表一个帐户字段。

读取文件并创建帐户列表后,您的程序将为每个帐户的 accountBalance 添加 10 美元,然后此新数据将写入名为adjustedAccounts.csv 的新文件”

accounts.csv 包含“ 1012,Tony,Stark,8388743.54 1034,Peter,Parker,775.12 1290,Clark,Kent,34.88 1538,Diana,Prince,23744.95 2008,Billy,Batson,90.11 1169,Bruce,Wayne,6100187.33 22 Bruce,Banner,-34.50 1444,James,Howlett,0.75 1111,Wade,Watts,300.20"

def main():
infile = open('accounts.csv', 'r')
outfile = open('adjustedaccounts.csv', 'w')    


for line in infile:
    Customer = line
    
    
   # accountNumber, firstName, lastName, accountBalance
    
    print(Customer, file=outfile)

#for i in range(accountBalance):
    #accountBalance + 10 = newBalance

infile.close()
outfile.close()

主要的()

我知道我需要将 accountBalance 作为 int 获取,但我似乎无法将其关联起来并让其余数据也显示出来。任何帮助都非常有用!谢谢你!

标签: pythoncsv

解决方案


这个:

def main(infile,outfile):
    import csv

    f_in = open(infile,'r')
    f_out = open(outfile,'w')
    
    f_read = csv.reader(f_in, delimiter=',')
    f_write = csv.writer(f_out, delimiter=',')

    for line in f_read:
        # balance is line[3]
        balance = float(line[3])
        balance += 10
        line[3] = str(balance)

        f_write.writerow(line)

    f_in.close()
    f_out.close()

main('accounts.csv','adjustedaccounts.csv')

推荐阅读