【问题标题】:Deleting blanks in excel or csv or text file删除 excel 或 csv 或文本文件中的空白
【发布时间】:2017-06-21 04:01:18
【问题描述】:

我有一个 Excel 文件,其中包含跑步者进行 9 次中间检查的时间。因此,每个参与者的总次数为 9,但实际时间之间的大量条目是空格。如何删除每列中的空格?

我尝试转换为 txt 并执行以下操作但没有成功,因为列时间之间不再有任何分隔:

tr -d ' ' < input.txt > no-spaces.txt
tr -d '[:blank:]' < input.txt > no-spaces.txt
tr -d '[:space:]' < input.txt > no-spaces.txt

https://askubuntu.com/questions/537956/sed-to-delete-blank-spaces

我所追求的是以下内容:

【问题讨论】:

  • VBA 可以循环遍历列并通过 SpecialCells(xlCellTypeBlank) 删除空白。删除或可能排序(后者取决于时间是否始终按升序排列)。

标签: excel csv unix sed tr


【解决方案1】:

使用 VBA,您可以:

Sub deleteBlanks()
    Columns("A:Z").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End Sub

之前:

之后:

或者您可以使用自动过滤器,这样您就可以隐藏每列中的空白行...然后您可以选择区域,然后复制并粘贴为值。

【讨论】:

  • 如果空白单元格不规则,您可能需要循环浏览各列。
  • 感谢您的快速回复。它们对于每一列都是不规则的......
  • @HCAI,正如您从图片中看到的那样,我的代码将适用于您的特定问题。它之所以有效,是因为使用Worksheet.Columns("A:Z").SpecialCells(xlCellTypeBlanks).EntireRow.Delete 删除Columns("A:Z").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp 处的每个单元格而不是删除每一行
  • 谢谢你,它工作得很好!你知道在 Unix 中有没有办法做到这一点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多