我有一些数据在我的Csv。文件,我需要删除所有行,除了每隔5,我怎么做?
ia2d9nvy1#
我建议您将CSV加载到PowerQuery中,尽管PQ绝不是我的强项,但我会采取以下步骤:
=Number.Mod([Index],5)=0
例如:
不管怎样,这是我从工作表(源)加载数据的m代码,可以通过CSV加载数据:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", Int64.Type}}), #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1, Int64.Type), #"Added Custom" = Table.AddColumn(#"Added Index", "Custom", each Number.Mod([Index],5)=0), #"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = true)), #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Index", "Custom"}) in #"Removed Columns"
ycggw6v22#
未经测试的伪代码,但它将是这样的:
for i=end downto beginning: if mod(i,5) != 0 then Range(i,1).EntireRow.Delete end if step -1
从末尾到开头是至关重要的,否则你会搞砸你行中的索引:-)
pkwftd7m3#
您可以使用以下公式创建帮助器列:
=MOD(ROW(A2)-ROW($A$2)+1;5)
如果您的Excel版本需要,请将分号替换为逗号。ROW($A$2)是数据的第一行。然后应用过滤器数据--〉过滤器并删除0的对勾然后删除行。然后移除过滤器
删除工作表行
移除过滤器
删除助手列然后您可以将Excel文件导出为csv。在Excel中打开csv、更改并保存可能无法正常工作。
3条答案
按热度按时间ia2d9nvy1#
我建议您将CSV加载到PowerQuery中,尽管PQ绝不是我的强项,但我会采取以下步骤:
=Number.Mod([Index],5)=0
;例如:
不管怎样,这是我从工作表(源)加载数据的m代码,可以通过CSV加载数据:
ycggw6v22#
未经测试的伪代码,但它将是这样的:
从末尾到开头是至关重要的,否则你会搞砸你行中的索引:-)
pkwftd7m3#
您可以使用以下公式创建帮助器列:
如果您的Excel版本需要,请将分号替换为逗号。
ROW($A$2)是数据的第一行。
然后应用过滤器数据--〉过滤器
并删除0的对勾
然后删除行。
然后移除过滤器
删除工作表行
移除过滤器
删除助手列
然后您可以将Excel文件导出为csv。在Excel中打开csv、更改并保存可能无法正常工作。