我正在尝试写入 csv 文件,为此我必须将存储在不同变量中的一些值传递给 writerow 方法。但是当我尝试这样做时,我总是得到这个错误:
'SyntaxError: 右括号 ')' 与左括号 '{'' 不匹配。
我已经尝试过使用“%s”的旧时尚方法,但错误仍然存在。这是我尝试实现 f 字符串方法的代码:
with open("All-Pros_1970-2022", 'w') as csvfile:
fieldnames = ['Div', 'Yr', 'AP']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
### There's some code here but not related to writting the csv
for i in AFC:
writer.writerow({'Div': f"{i[2]}", 'Yr':{draft_year}, 'AP':f"{i[0]}")
for i in NFC:
writer.writerow({'Div': f"{i[2]}", 'Yr':{draft_year}, 'AP':f"{i[0]}")
有什么方法可以传递一个 f 字符串或类似的参数作为参数吗?提前致谢
关于字典行的构造,还有一些问题需要解决。为了让它更容易查看/使用,让我们将该行构建为一个独立的语句。
import csv
draft_year = 2023
AFC = [
["some AP value", "", "some Div value"],
["some AP value2", "", "some Div value2"],
]
with open("All-Pros_1970-2022", 'w', newline="") as csvfile:
fieldnames = ['Div', 'Yr', 'AP']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for i in AFC:
row = {
'Div': f"{ i[2] }",
'Yr': f"{ draft_year }",
'AP': f"{ i[0] }"
}
writer.writerow(row)
这将创建一个文件,其内容为:
Div,Yr,AP
some Div value,2023,some AP value
some Div value2,2023,some AP value2