在读取文件的时候,我们很多时候并不需要文件头的注释信息(即第一行),通过判断其是否是第一行来读取在读取大文件时很费劲(每读取一行判断一次)。
下面是我跳过第一行的方法总结
-
打开文件后f.readlines()返回的是一个包含每一行的列表,因此我们可以如下操作(也可以从任意行开始读取):
with open('file_name', 'r') as f:
lines = f.readlines()[1:] # skip the first line.
for line in lines:
print(line)
with open('file_name', 'r') as f:
next(f) # skip the first line.
for line in f.readlines():
print(line)
- 使用第三方库itertools的islice函数,这个函数根据其第二个参数从任意行开始读取,这里传入1是因为python下标从0开始。
from itertools import islice
with open('file_name', 'r') as f:
for line in islice(f, 1, None):
print(line)
在读取文件的时候,我们很多时候并不需要文件头的注释信息(即第一行),通过判断其是否是第一行来读取在读取大文件时很费劲(每读取一行判断一次)。下面是我跳过第一行的方法总结打开文件后f.readlines()返回的是一个包含每一行的列表,因此我们可以如下操作(也可以从任意行开始读取):with open('file_name', 'r') as f: lines = f.readli...
本书从Hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍Hadoop这一高性能处理海量数据集的理想工具。全书共16章,3个附录,涉及的主题包括:Haddoop简介;MapReduce简介;Hadoop分布式文件系统;Hadoop的I/O、MapReduce应用程序开发;MapReduce的工作机制;MapReduce的类型和格式;MapReduce的特性;如何构建Hadoop集群,如何管理Hadoop;Pig简介;Hbase简介;Hive简介;ZooKeeper简介;开源工具Sqoop,最后还提供了丰富的案例分析。
本书是Hadoop权威参考,程序员可从中探索如何分析海量数据集,管理员可以从中了解如何安装与运行Hadoop集群。
第1章 初识Hadoop
数据!数据!
数据存储与分析
与其他系统相比
关系型数据库管理系统
1.3.4 Hadoop 发展简史
Apache Hadoop和Hadoop生态圈
第2章 关于MapReduce
一个气象数据集
数据的格式
使用Unix工具进行数据分析
使用Hadoop分析数据
map阶段和reduce阶段
运行一个分布式的MapReduce作业
Hadoop的Streaming
Ruby版本
Python版本
Hadoop Pipes
第3章 Hadoop分布式文件系统
HDFS的设计
HDFS的概念
namenode和datanode
命令行接口
基本文件系统操作
Hadoop文件系统
Java接口
从Hadoop URL中读取数据
通过FileSystem API读取数据
查询文件系统
文件读取剖析
文件写入剖析
通过 distcp并行拷贝
保持 HDFS 集群的均衡
Hadoop的归档文件
使用Hadoop归档文件
第4章 Hadoop I/O
数据完整性
HDFS的数据完整性
LocalFileSystem
ChecksumFileSystem
codec
压缩和输入切分
在MapReduce中使用压缩
Writable接口
Writable类
实现定制的Writable类型
序列化框架
依据文件的数据结构
写入SequenceFile
MapFile
第5章 MapReduce应用开发
配置API
合并多个源文件
可变的扩展
配置开发环境
辅助类GenericOptionsParser,Tool和ToolRunner
编写单元测试
mapper
reducer
本地运行测试数据
在本地作业运行器上运行作业
测试驱动程序
在集群上运行
MapReduce的Web界面
使用远程调试器
MapReduce的工作流
将问题分解成MapReduce作业
运行独立的作业
第6章 MapReduce的工作机制
剖析MapReduce作业运行机制
作业的提交
作业的初始化
任务的分配
任务的执行
进度和状态的更新
作业的完成
tasktracker失败
jobtracker失败
作业的调度
Fair Scheduler
Capacity Scheduler
shuffle和排序
reduce端
配置的调优
任务的执行
推测式执行
重用JVM
跳过坏记录
任务执行环境
第7章 MapReduce的类型与格式
MapReduce的类型
默认的MapReduce作业
输入分片与记录
二进制输入
数据库输入(和输出)
二进制输出
数据库输出
第8章 MapReduce的特性
内置计数器
用户定义的Java计数器
用户定义的Streaming计数器
map端联接
reduce端联接
边数据分布
利用JobConf来配置作业
分布式缓存
MapReduce库类
第9章 构建Hadoop集群
集群的构建和安装
安装Java
创建Hadoop用户
安装Hadoop
SSH配置
Hadoop配置
Hadoop守护进程的关键属性
Hadoop守护进程的地址和端口
Hadoop的其他属性
创建用户帐号
Kerberos和Hadoop
其他安全性改进
利用基准测试程序测试Hadoop集群
Hadoop基准测试程序
用户的作业
云上的Hadoop
Amazon EC2上的Hadoop
第10章 管理Hadoop
永久性数据结构
Java管理扩展(JMX)
日常管理过程
委任节点和解除节点
第11章 Pig简介
安装与运行Pig
运行Pig程序
Grunt
Pig Latin编辑器
与数据库比较
PigLatin
1.4.4 类型
用户自定义函数
过滤UDF
计算UDF
加载UDF
数据处理操作
加载和存储数据
分组与连接数据
对数据进行排序
组合和分割数据
Pig实战
第12章 Hive
1.1 安装Hive
1.1.1 Hive外壳环境
1.2 示例
1.3 运行Hive
1.3.1 配置Hive
1.3.2 Hive服务
1.3.3 Metastore
1.4 和传统数据库进行比较
1.4.1 读时模式(Schema on Read)vs.写时模式(Schema onWrite)
1.4.2 更新、事务和索引
1.5 HiveQL
1.5.1 数据类型
1.5.2 操作和函数
1.6 表
1.6.1 托管表(Managed Tables)和外部表(External Tables)
1.6.2 分区(Partitions)和桶(Buckets)
1.6.3 存储格式
1.6.4 导入数据
1.6.5 表的修改
1.6.6 表的丢弃
1.7 查询数据
1.7.1 排序(Sorting)和聚集(Aggregating)
1.7.2 MapReduce脚本
1.7.3 连接
1.7.4 子查询
1.7.5 视图(view)
1.8 用户定义函数(User-Defined Functions)
1.8.1 编写UDF
1.8.2 编写UDAF
第13章 HBase
2.1 HBasics
2.1.1 背景
2.2 概念
2.2.1 数据模型的“旋风之旅”
2.2.2 实现
2.3 安装
2.3.1 测试驱动
2.4 客户机
2.4.1 Java
2.4.2 Avro,REST,以及Thrift
2.5 示例
2.5.1 模式
2.5.2 加载数据
2.5.3 Web查询
2.6 HBase和RDBMS的比较
2.6.1 成功的服务
2.6.2 HBase
2.6.3 实例:HBase在Streamy.com的使用
2.7 Praxis
2.7.1 版本
2.7.2 HDFS
2.7.3 用户接口(UI)
2.7.4 度量(metrics)
2.7.5 模式设计
2.7.6 计数器
2.7.7 批量加载(bulkloading)
第14章 ZooKeeper
安装和运行ZooKeeper
ZooKeeper中的组成员关系
列出组成员
ZooKeeper服务
使用ZooKeeper来构建应用
具有可恢复性的ZooKeeper应用
生产环境中的ZooKeeper
可恢复性和性能
第15章 开源工具Sqoop
获取Sqoop
一个导入的例子
其他序列化系统
深入了解数据库导入
导入和一致性
直接模式导入
使用导入的数据
导入的数据与Hive
导入大对象
深入了解导出
导出与事务
导出和SequenceFile
第16章 实例分析
Hadoop 在Last.fm的应用
Last.fm:社会音乐史上的革命
Hadoop a Last.fm
用Hadoop产生图表
Track Statistics程序
Hadoop和Hive在Facebook的应用
Hadoop a Facebook
假想的使用情况案例
问题与未来工作计划
Nutch 搜索引擎
Nutch系统利用Hadoop进行数据处理的精选实例
Rackspace的日志处理
选择Hadoop
收集和存储
日志的MapReduce模型
关于Cascading
字段、元组和管道
Tap类,Scheme对象和Flow对象
Cascading实战
Hadoop和Cascading在ShareThis的应用
在Apache Hadoop上的TB字节数量级排序
使用Pig和Wukong来探索10亿数量级边的 网络图
每个人都在和我说话:Twitter回复关系图
degree(度)
附录A 安装Apache Hadoop
伪分布模式
全分布模式
附录B Cloudera’s Distribution for Hadoop
附录C 准备NCDC天气数据
path:str .xlsx或.xlsm文件的路径。
sheet_name:str,可选要读取的工作表的名称。 如果不存在,则读取第一张(不是活动的!)表。 默认值为“无”。
header:bool,可选是否将第一行用作列标题。 默认值为True。
index_col:布尔型,可选是否将第一列用作索引。 默认值为False。
skiprows:int列表,可选。 要跳过的行号([0,1]跳过前两行)。 默认值为[]。
skipcolumns:int列表,可选。 要跳过的列号([0,1]跳过前两列)。 默认值为[]。
TypeError如果文件不是.xlsx或.xlsm文件。 FileNotFou
W3C 扩展:%Y-%m-%d %H:%M:%S
系统日志:%b %d %H:%M:%S
NSCA Common/Apache: 主机 rfc931 用户名 [%d/%b/%Y:%H:%M:%S +TZ]
绑定 8:%d-%b-%Y %H:%M:%S。
Nginx 错误日志:%Y/%m/%d %H:%M:%S。 用 Python 2.6 测试
您可以使用以下方法安装它:
pip install timegrep
待办事项:如果搜索落在第一行或最后一行的中间,请确保它有效
TODO:确保同步读取恰好落在正在搜索的行的开头,然后被第二次读取跳过的行
DONE:支持更多日志时间格式
with open('file.csv','r',newline="",encoding="GB18030") as read_csvfile:
readcsv_all = csv.reader(read_csvfile)
next(read_csvfile) #跳过第一行“标题”
for line in readcsv_all:
Python编程时,经常需要跳过第一行读取文件内容。比较容易想到是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作。相应的Python代码如下:
input_file = open("C:\\Python34\\test.csv")
line_num = 0
for line in islice(input_file, 1, None):
def ReadTxt(filename):
f = codecs.open(filename, mode='r', encoding='utf-8')
next(f) #这就跳过第一行了啊
line = f.readline()
li...
python3 IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`)
Ubuntu不能挂载移动硬盘问题Error mounting /dev/sda1 at /media/XXXX: Command-line `mount -t "ntfs" -o