【发布时间】:2022-10-16 07:39:02
【问题描述】:
我以前写过一个代码,它只检查某个字母是否在 csv 文件的第二行内,然后打印与其对应的第一行,但现在我需要它来检查最高数字是否高于 0.80 以及“BestLetter”部分中有哪些字母。这是我当前的代码:
import csv
import os
with open('test.csv', 'r') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
if "ar" in row[1]: # this takes the first instance of a standalone letter
print(row[0])
现在我正在尝试这样的事情:
for n in row[1]:
if n.isdigit():
print(n.isdigit())
但我不确定我的逻辑是否正确,因为它似乎不起作用。下面还有一个我必须使用的 .csv 文件中的示例
#foo,["BestLetter":"B","allLetters":{"A":0.5,"B":90.0,"C":0.0,"D":0.0,"E":0.0,"F":0.0,"G":1.4,"H":0.0,"I":0.0,"J":0.0,"K:7.3,"L":0.7}]
在这种情况下,B 高于 0.80
任何帮助,将不胜感激!
【问题讨论】:
-
您还没有包含生成
row的部分。 -
还是
#foo,["BestLetter":"B","allLetters":{...CSV 文件中的实际内容或csv.reader()返回的内容?您的示例不清楚,您需要提供更好的流程示例。 -
@AdrianKlaver 嗨,对不起,我修复了它,csv 文件中的内容正是我提供的,但#foo 是内部链接,这是唯一的区别。除此之外的结构相同。
-
是否可以更改生成 CSV 的代码以产生略有不同的输出?