我有一个循环,每次通过循环尝试将数据从字典追加到CSV文件的末尾。
作为其中的一部分,我希望能够检查它的工作表是否为空白,已清除或为空,如果为true,则输出页眉和行。否则,我不希望标题再次打印,仅打印该行。
在尝试寻找一种方法来检查第一行是我的标题还是空白时,我尝试了两种方法:
我阅读了csv,将每一行转换为list
,并检查第一项是否为空白。启用newline参数后,它将在第2行开始打印,因此每次检查列表的第一个元素是否为空白时都会返回true。如果我尝试检查第二个元素,则在第一次运行时会出现索引超出范围错误。
我使用了csv.Sniffer()
的{{1}}来检查文件是否具有标题。
这里出现类似错误,因为我在has_header
语句中有newline=''
。因此,出于某种原因,它将始终在第2行输出第一个条目,并且open()
始终返回false,即使文件已经具有标题也是如此。
我终于能够通过从has_header
中删除has_header()
参数来使newline=''
正常工作,但是现在它在每个输出之间都留有空格。
如何在仍然可以检查我的状况的同时简单地从输出中删除这些行?任何帮助表示赞赏!
这是我的代码:
open()
CSV的外观应该是每行之间没有空白行。