Файлы Python и csv

#python #csv

#python #csv

Вопрос:

Итак, я работаю над назначением python, и я застрял. назначение… «В этом проекте вы напишете программу, которая считывает файл с данными банковского счета, изменяет данные и записывает новые данные в новый файл. Этот файл с именем accounts.csv будет файлом в формате CSV (значения, разделенные запятыми), который содержит следующие поля информации:

Номер учетной записи, имя, фамилия, баланс учетной записи

Ваша программа будет считывать из этого файла, обрабатывать каждую строку данных CSV в список, убедившись, что типы данных преобразуются правильно. В результате получится список списков, где каждый вложенный список представляет одно поле учетной записи.

После чтения файла и создания списка учетных записей ваша программа добавит 10 долларов к балансу учетной записи для каждой учетной записи, затем эти новые данные будут записаны в новый файл с именем adjustedAccounts.csv «

Файл accounts.csv содержит » 1012, Тони, Старк, 8388743,54 1034, Питер, Паркер, 775,12 1290, Кларк, Кент, 34,88 1538, Диана, Принц, 23744,95 2008, Билли, Бэтсон, 90,11 1169, Брюс, Уэйн, 6100187,33 2217, Брюс, Баннер, -34,50 1444, Джеймс, Хаулетт, 0,75 1111, Уэйд, Вт, 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()
  

main()

Я знаю, что мне нужно получить accountBalance как значение int, но, похоже, я не могу его определить и получить остальные данные для отображения. Любая помощь будет очень полезна!! Спасибо!

Комментарии:

1. csv .

2. Взгляните на at pathlib, если вы используете python 3. Также найдите with инструкцию.

3. Чтобы получить данные, разделенные запятыми, вы можете использовать line.split(',')

Ответ №1:

этот:

 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')