gpt4 book ai didi

python - 如何检查 csv.DictReader 对象是否为空

转载 作者:太空宇宙 更新时间:2023-11-03 18:59:04 37 4
gpt4 key购买 nike

我正在编写 python 代码来使用 DictReader 从 csv 文件读取内容。

with open(parafile, "rb") as paracsv:         
#Read in parameter values as a dictionary
paradict = csv.DictReader(paracsv)
if paradict.line_num <= 1:
return None

如果从 csv 文件中读取的行数不超过一行,我希望能够立即返回。

我尝试检查 line_num,但即使文件中有不止一行,它也总是返回 0。有谁知道检查此问题的正确/有效方法是什么?

谢谢

最佳答案

如果不阅读行,您就无法知道文件中有多少行。请注意 csvreader.line_num attribute反射(reflect)到目前为止读取的行数,而不是文件中存在的行数:

The number of lines read from the source iterator. This is not the same as the number of records returned, as records can span multiple lines.

只需阅读您的文件即可;如果文件中只有一行,无论如何您最终都会提前返回。

如果在没有读取行的情况下仅返回 None,则可以使用:

with open(parafile, "rb") as paracsv:         
#Read in parameter values as a dictionary
paradict = csv.DictReader(paracsv)
has_rows = False
for line in paradict:
has_rows = True

if not has_rows:
return None

如果文件中第一个标题行之外没有任何行,则返回early,因为 for 循环立即终止。

关于python - 如何检查 csv.DictReader 对象是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490643/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com