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