Python自定义csv读取函数执行后为什么会额外输出None
Python读取CSV文件额外输出None的原因
核心原因
- 你定义的
Test_reader和Test_DictReader两个函数均未显式声明返回值,Python规则中,所有无显式return语句的函数,默认返回值为None - 你调用函数时额外用
print()包裹了函数调用:print(Test_reader("names.csv"))、print(Test_DictReader("names.csv","first_name")),执行时会先运行函数内部的打印逻辑输出CSV文件内容,再打印函数返回的默认值None,这就是末尾多出None的来源。
解决方法
直接调用函数即可,不需要在外层额外加print(),修改调用代码为:
Test_reader("names.csv") # 或者 Test_DictReader("names.csv","first_name")
额外注意事项
你当前代码中csv.reader指定的分隔符为制表符\t,但你提供的names.csv是逗号分隔的格式,实际运行时可能会出现整行内容被识别为单个元素的问题,可根据实际文件分隔符调整参数。
内容的提问来源于stack exchange,提问作者Spiros Skouras
相关产品推荐
相关产品推荐

