CSV 파일을 출력하려고하는데 헤더가 사라지고 문제가 무엇인지 잘 모릅니다. 내 코드는 ...CSV 출력 파일 (파이썬)에서 헤더가 누락되었습니다.
내 샘플 데이터는 다음과 같습니다 (그래서 또한 그것을 제거하는 방법에 코드를 추가 거기에 여러 개의 데이터가있는 가정) ABC.csv
KeyID,GeneralID
145258,KL456
145259,BG486
145260,HJ789
145261,KL456
145259,BG486
145259,BG486
내 코드 :
import csv
import fileinput
from collections import Counter
file_path_1 = "ABC.csv"
key_id = []
general_id = []
total_general_id = []
with open(file_path_1, 'rU') as f:
reader = csv.reader(f)
header = next(reader)
lines = [line for line in reader]
counts = Counter([l[1] for l in lines])
new_lines = [l + [str(counts[l[1])] for l in lines]
with open(file_path_1, 'wb') as f:
writer = csv.writer(f)
writer.writerow(header + ['Total_GeneralID'])
writer.writerows(new_lines)
with open(file_path_1, 'rU') as f:
reader = csv.DictReader(f)
for row in reader:
key_id.append(row['KeyID'])
general_id.append(row['GeneralID'])
total_general_id.append(['Total_GeneralID'])
New_List = [[] for _ in range(len(key_id))]
for attr in range(len(key_id)):
New_List[attr].append(key_id[attr])
New_List[attr].append(general_id[attr])
New_List[attr].append(total_general_id[attr])
with open('result_id_with_total.csv', 'wb+') as newfile:
header = ['KEY ID', 'GENERAL ID' , 'TOTAL GENERAL ID']
wr = csv.writer(newfile, delimiter=',', quoting = csv.QUOTE_MINIMAL)
wr.writerow(header) #I already add the headers but it won't work.
for item in New_List:
if item not in newfile:
wr.writerow(item)
U 불행히도, 내 출력은 다음과 같을 것입니다 (result_id_with_total.csv);
145258,KL456,2
145259,BG486,1
145260,HJ789,1
145261,KL456,2
달성하려는 목표; 이 코드에서
KEY ID,GENERAL ID,TOTAL GENERAL ID
145258,KL456,2
145259,BG486,1
145260,HJ789,1
145261,KL456,2
내 주요 문제 :
wr.writerow(header)
이 작동하지 않습니다.
다음과 같이해야합니다 :'new_lines = [l + [str (counts [l [1]]) for l]'무엇이 잘못 되었습니까? 그것은 나를 위해 달린다. –
@StephenRauch 코드가 잘 작동했는데, 이것은 또 다른 문제입니다. 내 문제를 마지막으로 해결 했으므로 잘못된 정보를 볼 수 있기를 바랍니다. 이 코드의 출력 결과는 헤더가없는 데이터입니다. – yunaranyancat
'newfile에없는 항목 :'하려고하는 것은 무엇입니까? –