我得到了一个 CSV 文件,其中包含行id、name和firstnamecompany
我正在循环 CSV 并csv.DictReader希望将一些默认值插入其中,name如果firstname它们为空
dict.get()应该可以解决问题 - 但它仅在name且不包含任何数据firstname 时才有效。一旦它们至少包含一次数据,返回的默认值将被忽略,并且不会返回任何内容
"id","name","firstname","company"
"1","doe","john","jdoe inc"
"2","doe","jane","jdoe inc"
"3",,,"company inc"
Run Code Online (Sandbox Code Playgroud)
import csv
with open("test.csv") as csv_file:
reader = csv.DictReader(csv_file)
for row in reader:
firstname = row.get("firstname", "Company")
name = row.get("name", row["company"])
company = row["company"]
print(f"Firstname: {firstname}")
print(f"Name: {name}")
print(f"Company: {company}\n")
Run Code Online (Sandbox Code Playgroud)
上述测试脚本的输出是
Firstname: john
Name: doe
Company: jdoe inc
Firstname: jane
Name: doe
Company: …Run Code Online (Sandbox Code Playgroud)