Python CSV копировать столбец
У меня есть файл, содержащий следующие
first_name,last_name,uid,email,dep_code,dep_name
john,smith,jsmith,[email protected],finance,21230
john,king,jking,[email protected],human resource,31230
Хочу скопировать колонкуЭл. адрес" и создать новый столбецemail2" а затем замените gmail.com из столбца email2 на hotmail.comI '
Я новичок в Python, поэтому мне нужна помощь экспертов, я пробовал несколько сценариев, но если есть лучший способ сделать это, пожалуйста, дайте мне знать. Исходный файл содержит 60000 строк.
with open('c:\\Python27\\scripts\\colnewfile.csv', 'rb') as fp_in1, open('c:\\Python27\\scripts\\final.csv', 'wb') as fp_out1:
writer1 = csv.writer(fp_out1, delimiter=",")
reader1 = csv.reader(fp_in1, delimiter=",")
domain = "@hotmail.com"
for row in reader1:
if row[2:3] == "uid":
writer1.append("Email2")
else:
writer1.writerow(row+[row[2:3]])
Вот последний сценарий, единственная проблема в том, что он не завершает весь выходной файл, он показывает только 61409 строк, тогда как во входном файле 61438 строк.
inFile = 'C: \ python27 \ Сценарии \ в-093013.csv» outFile = 'C: \ python27 \ Сценарии \ final.csv»
с открытым (inFile, 'гь») как fp_in1, open (outFile, 'термометр») как fp_out1: writer = csv.writer (fp_out1, delimiter = ",") reader = csv.reader (fp_in1, delimiter = ",") для col в читателе: del col [6:] writer.writerow (col) заголовки = следующий (читатель) writer.writerow (заголовки + ['email2']) для строки в читателе: если len (строка)> 3: email = email.split ('@', 1) [0] + '@ Hotmail.com» writer.writerow (строка + [электронная почта])