相关疑难解决方法(0)

从文件中删除以#开头的所有行

文件中带有注释的所有行都以#.如何删除以#?开头的所有行(以及只有那些行)?#应忽略包含但不在行开头的其他行.

bash sed

164
推荐指数
6
解决办法
17万
查看次数

根据row_number过滤RDD

sc.textFile(path)允许读取HDFS文件,但它不接受参数(比如跳过多行,has_headers,......).

在"学习星火"O'Reilly电子书中,建议使用以下函数读取CSV(例5-12.Python加载CSV示例)

import csv
import StringIO

def loadRecord(line):
"""Parse a CSV line"""
input = StringIO.StringIO(line)
reader = csv.DictReader(input, fieldnames=["name", "favouriteAnimal"])
return reader.next()
input = sc.textFile(inputFile).map(loadRecord)
Run Code Online (Sandbox Code Playgroud)

我的问题是如何选择"采取"行:

  1. 如何避免加载第一行(标题)
  2. 如何删除特定行(例如,第5行)

我在这里看到一些不错的解决方案:选择元素范围,但我想看看是否有更简单的东西.

谢谢!

python csv apache-spark

11
推荐指数
1
解决办法
9823
查看次数

awk - 使用printf只格式化一个输出字段?

一个非常基本的查询,但我无法解决.我是一个非常基本的awk用户.

我希望将一个文件(不超过100条记录)写入awk,并通过在每行的开头添加一个行号(0填充)来输出修改的文件.

因此,输入文件:

Lorem ipsum dolor sit amet consectetur adipiscing elit
sed do eiusmod tempor incididunt ut labore et

dolore magna aliqua Ut enim ad minim veniam
...
Run Code Online (Sandbox Code Playgroud)

输出文件:

001 Lorem ipsum dolor sit amet consectetur adipiscing elit
002 sed do eiusmod tempor incididunt ut labore et
003
004 dolore magna aliqua Ut enim ad minim veniam
...
Run Code Online (Sandbox Code Playgroud)

我的小一号班轮来做行编号(相当明显)

awk '{print NR, $0}' *infile*
Run Code Online (Sandbox Code Playgroud)

我得到了

1 Lorem ipsum dolor sit amet consectetur adipiscing elit …
Run Code Online (Sandbox Code Playgroud)

linux bash awk printf

0
推荐指数
1
解决办法
575
查看次数

标签 统计

bash ×2

apache-spark ×1

awk ×1

csv ×1

linux ×1

printf ×1

python ×1

sed ×1