如何跳过或忽略标题上方的行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何跳过或忽略标题上方的行?相关的知识,希望对你有一定的参考价值。

Title: This is parsed file      
Job: Proj Doom

Flow,Value  
102,2   
103,3   
104,4   
105,5   
106,6

我是新来的D3。如果我采用上面的csv并删除标题上方的所有内容,我的d3图表工作正常。 csv是在测试之后产生的,我不能通过每个文件并删除标题上方的行,然后加载到D3图表。我想抓住这些文件并在不修改的情况下将其可视化。

所以,我唯一的问题是如何过滤掉前5行。标题上方的行数在生成的所有* .csv中相同,内容可能会更改。

可以在d3.csv("myCsv", type, function(){});内完成吗?或者它需要在js之前完成?我正在使用d3 v4。

答案

使用type函数(更好地称为row函数)的问题是它将被调用所有行。那不是你想要的。

这里最好的想法可能是将CSV加载为纯文本。在第5版:

d3.text("data.csv").then(function(data){

在第4节:

d3.text("data.csv", function(data){

...然后我们删除第一行。在这里,我删除前3行:

const filtered = data.split('
').slice(3);

然后,我们重新创建CSV文件:

const newCSV = filtered.join('
');

最后我们解析它:

const newData = d3.csvParse(newCSV);

顺便说一句,d3.csvParse适用于v4和v5。

当然,所有这一切只需一行即可:

data = d3.csvParse(data.split('
').slice(3).join('
')) 

这是一个显示它的bl.ocks(使用v5):https://bl.ocks.org/GerardoFurtado/5a43fdcedc214ecdb2eb20ac91af8623/6473eb3dfb05361a3dd7972756a490d9885542f5

以上是关于如何跳过或忽略标题上方的行?的主要内容,如果未能解决你的问题,请参考以下文章

第二个 cin 被跳过或无法正常工作

如何忽略错误但不跳过 redshift 复制命令中的行

在 discord.py 中完成后如何跳过或结束关键字命令?

有没有一种简单的方法可以使用 OleDbConnection 删除/忽略 Excel 文件中列名上方的行?

使用 ACTION_IMAGE_CAPTURE 从相机拍摄照片后如何跳过或避免“重拍并查看”选项

如何在 Fortran 90 中跳过带有“#”符号的行? [复制]