0
我想選擇一些數據,這要歸功於csv文件中的條件,並將其寫入另一個組織不同的anoter csv文件中,然後他們再選擇另一個數據並將其寫入另一個文件中線。我用csv模塊和功能writerow做到這一點:在Python中操作csv文件
#Creation of the other csv file
with open('superAdmins.csv', 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile)
spamwriter.writerow(['SuperAdmins'] + ['2 step authentication'] + ['Portée des droits'])
i = 0
#Selection of the first data
with open('admins.csv', 'r') as csvinput,open('2authentication.csv', 'r') as csvinput2, open('superAdmins.csv', 'w+') as csvoutput:
reader = csv.DictReader(csvinput, delimiter=',') #lecteur
reader2 = csv.DictReader(csvinput2, delimiter=',') #lecteur
fieldnames = ['SuperAdmins', '2 step authentication','Portée des droits']
writer = csv.DictWriter(csvoutput,fieldnames = fieldnames) #crayon
writer.writeheader() #Ecrit l'en-tête avec les fieldnames
for row in reader:
# write the selection logic here
if row["role"] == "_SEED_ADMIN_ROLE":
writer.writerow({'SuperAdmins': row['assignedToUser']})
#Selection of the second data
for row in reader:
print(row["primaryEmail"],superadmin)
# write the selection logic here
if row["primaryEmail"] == superadmin:
if row["isEnforcedIn2Sv"] == "False" and row["isEnrolledIn2Sv"] == "False":
writer.writerow({'2 step authentication': "false"})
我得到:
SuperAdmins,2 step authentication,Portée des droits
[email protected],,
,Test,
,false,
而我想有:
SuperAdmins,2 step authentication,Portée des droits
[email protected],Test,false
我想這功能writerow通過在每次使用時添加逗號來開始一個新行,我正在尋找一種方法來繼續寫在同一行上。
非常感謝您的幫助。
這應該是一個評論,除非你願意提供一些代碼來的OP質疑 –
謝謝您的回答是相關的。對不起,我開始學習Python,並且從未使用過「row_dict變量」。我不明白網上有關它的信息,我可以問你它是如何工作的嗎? – KB303
@DmitryPolonskiy公平點。 – lesingerouge