>

// 第一种方式遍历list集合,利用数组的Key值遍历

- 编辑:澳门博发娱乐官网 -

// 第一种方式遍历list集合,利用数组的Key值遍历

在main方法调用并传递参就能够了,

Hadoop的HDFS和MapReduce子框架首借使指向大数据文件来统一准备的,在小文件的管理上不独有成效低下,并且特别消耗内部存款和储蓄器能源(每八个小文件占用一个Block,每叁个block的元数据都存款和储蓄在namenode的内部存款和储蓄器里)。化解办法平日是选用一个器皿,将那么些小文件协会起来统一存款和储蓄。HDFS提供了二种档案的次序的器皿,分别是SequenceFile和MapFile。

// 第一种方法遍历list集结:for循环
Integer size = list.size();
for (int i = 0; i < size; i++) {
String value1 = list.get(i);
System.out.println(value1);
}
// 第三种艺术遍历list集合:iterator 迭代器
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String value2 = iterator.next();
System.out.println(value2);
}
// 第两种方法遍历list集结:foreach
for (String string : list) {
System.out.println(string);
}

2、写入新Excel文件

import   xlwt

wb = xlwt.Workbook()                 # 创设 xls 文件对象

sh = wb.add_sheet('A Test Sheet')       # 新扩充二个表单

# 按岗位增多数据

sh.write(0,0,1234.56)

sh.write(1,0,8888)

sh.write(2,0,'hello')

sh.write(2,1,'world')

wb.save('example.xls')  # 保存文件

 

 

二、MapFile

MapFile是排序后的SequenceFile,通过阅览其目录结构得以见见MapFile由两片段构成,分别是data和index。

index作为文件的数据索引,首要记录了各样Record的key值,以及该Record在文书中的偏移地方。在MapFile被访谈的时候,索引文件会被加载到内部存款和储蓄器,通过索引映射关系可飞快定位到钦命Record所在文件地点,因而,相对SequenceFile来讲,MapFile的追寻功能是高速的,缺点是会损耗一部分内存来存款和储蓄index数据。

需注意的是,MapFile并不会把具备Record都记录到index中去,暗许情状下每隔128条记下存款和储蓄八个索引映射。当然,记录间隔可人为修改,通过MapFIle.Writer的setIndexInterval()方法,或涂改io.map.index.interval属性;

另外,与SequenceFile分裂的是,MapFile的KeyClass必须要兑现WritableComparable接口,即Key值是可正如的。

亲自过问:MapFile读写操作

[java] view plaincopy

  1. Configuration conf=new Configuration();  
  2. FileSystem fs=FileSystem.get(conf);  
  3. Path mapFile=new Path("mapFile.map");  
  4. //Reader内部类用于文书的读取操作  
  5. MapFile.Reader reader=new MapFile.Reader(fs,mapFile.toString(),conf);  
  6. //Writer内部类用于文书的写操作,借使Key和Value都为Text类型  
  7. MapFile.Writer writer=new MapFile.Writer(conf,fs,mapFile.toString(),Text.class,Text.class);  
  8. //通过writer向文书档案中写入记录  
  9. writer.append(new Text("key"),new Text("value"));  
  10. IOUtils.closeStream(writer);//关闭write流  
  11. //通过reader从文书档案中读取记录  
  12. Text key=new Text();  
  13. Text value=new Text();  
  14. while(reader.next(key,value)){  
  15.     System.out.println(key);  
  16.     System.out.println(key);  
  17. }  
  18. IOUtils.closeStream(reader);//关闭read流  

专心:使用MapFile或SequenceFile固然能够消除HDFS中型Mini文件的积攒难题,但也可能有早晚局限性,如:
1.文书不辅助复写操作,不可能向已存在的SequenceFile(MapFile)追加存储记录
2.当write流不倒闭的时候,未有主意构造read流。也便是在执行文书写操作的时候,该文件是不足读取的

// map遍历操作的第一种艺术:keyset + foreach
// 采取keyset方法通过key值获取value值---》功能低
Set<String> keySet = map.keySet();
for (String key : keySet) {
Integer value = map.get(key);
System.out.println("键:"+ key + "值:"+ value);
}

3、展开已存在Excel文件,写入新闻

import  xlrd

from xlutils import copy

data = xlrd.open_workbook('G:/221.xls',formatting_info=True)  #管教修改后的文件格式不改变

w= copy(data)

news =w.get_sheet(0)

news.write(3,3,'str')

try:

   w.save('G:/221.xls')

except(SyntaxError,PermissionError):

   print("文件未关门!")

 1 var new_activity = document.getElementById('new_activity');
 2 
 3 for(var key in value){    
 4     var dl = document.createElement('dl');
 5     dl.innerHTML = '<dd> <a href="#"> <img src="'+value[key]['photo']+'"> </a> </dd>';
 6     dl.innerHTML+= '<dt> <a href="#"> '+value[key]['title']+' </a> </dt>';

 7     dl.innerHTML+= '<dd><a href="#"><img src="avatar.jpg"></a><p><a href="#">在水一方</a></p><p><a href="#">查看(<i>60</i>)</a> 剩余<i>5</i>人</p></dd>';
 8     dl.innerHTML+= '<dd><i>16</i>人报名 <i>¥</i><i>1000</i>元</dd>';
 9     new_activity.appendChild(dl);
10 }

三种情势的思辨都以遍历二个map的Key,然后2个Map分别取那2个Key值所获取的Value。

// map遍历操作的第三种方法:map.entrySet() +迭代器
Iterator<Entry<String, Integer>> entrySet = map.entrySet().iterator();
while (entrySet.hasNext()) {
Entry<String, Integer> entry = entrySet.next();
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("键:" + key + " " + "值:" + value);
}
}
具备的措施都是卸载main方法之中的。

1、读取Excel

import  xlrd

data = xlrd.open_workbook('G:/221.xls')

table = data.sheets()[0]

print(table.row_values(1))               #获取整行的值(横)

print(table.col_values(0))                #取得整列的值(竖)

nrows = table.nrows                        #得到表格行数(横)

ncols = table.ncols                          #获取表格列数(竖)

cell_a = table.cell(0,1).value#(竖、横)

#遍历Excel

for row in range(nrows):

   for col in range(ncols):

        print("(%s,%s): %s"%(row,col,table.cell(row,col).value))

自然,作者还用innerHTML写入了一些别样的事物,无需在意。重要的是要留神语法, '+value[key]['photo']+'

本文由胜博发-操作发布,转载请注明来源:// 第一种方式遍历list集合,利用数组的Key值遍历