将相比较结果写入文件亚洲城ca88手机版官网,Python学习笔记

亚洲城ca88手机版官网

三种方法的思维都是遍历一个map的Key,然后2个Map分别取这2个Key值所得到的Value。

所用到的第三方库:xlrd(读取Excel文件)、xlwt(写入Excel文件)、xlutils(操作Excel文件的使用工具,如复制、分割。筛选等)

如果想要使用数组来写入HTML数据,绝对需要的是一个Key值,由Key来引导遍历数组各项;此外,使用DOM原生方法写入文档,用同一个CSS样式渲染它们,这样可以极大地减少开发时间和减少维护成本,此方法适用于批处理:

#第一种用entry

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))

 

private void compareMap(Map<String, String> Map01, Map<String, String Map02>){

        for (Map.Entry<String, String> entry : Map1.entrySet())
        {

           String testKey = entry.getKey();

           if(Map1.get(testId).equals(Map2.get(testId))){

                System.out.println("equals");

            }else{

                System.out.println("not equals");

            }
        }
}

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’)  # 保存文件

首先我们需要创建一个数组,类似于JSON:

#第二种用keyset的方法,把key值存到容器,分别取出对比

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 value = {
2     id1: {photo:'../photo_1.jpg',title:'这是第一张图片!'},
3     id2: {photo:'../photo_2.jpg',title:'这是第二张图片!'},
4     id3: {photo:'../photo_3.jpg',title:'这是第三张图片!'},
5     id4: {photo:'../photo_4.jpg',title:'这是第四张图片!'},
6     id5: {photo:'../photo_5.jpg',title:'这是第五张图片!'},
7     id6: {photo:'../photo_6.jpg',title:'这是第六张图片!'}
8     };
private void compareMap(Map<String, String> Map01, Map<String, String Map02>){  

     Iterator<String> iter = Map1.keySet().iterator();

while (iter.hasNext()) {

            String testKey = iter.next();

       if(Map1.get(testId).equals(Map2.get(testId))){

                System.out.println("equals");

              }else{

                System.out.println("not equals");

            }

接下来,我们可以通过DOM方法定位一个现有元素,利用数组的Key值遍历并写入到DOM:

##第二种用keyset的方法,遍历Key值

 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 }
public class CompareMap {

    public static void main(String[] args) {

    }

    private void compare(Map<String, String> map1, Map<String, String> map2) {

        for (String testkey : map1.keySet()) {

            if(map1.get(testkey).equals(map2.get(testkey))){

                System.out.println("equals");

            }else{

                System.out.println("not equals");

            }
        }

    }

当然,我还用innerHTML写入了一些其他的东西,无需在意。重要的是要注意语法,
‘+value[key][‘photo’]+’

在main方法调用并传递参就可以了,

这样,HTML中可以写入一系列的<dl><dd><dt>元素,接下来为它们写一个CSS样式即可全部渲染它们。这是一个很好的动态写入的方法!

PS:如果需要将结果(相同的value、不同的value)写入文件,则可以写一个write方法,在每次打印写入文件,加文件地址参数即可

 

 

结果写入文件方法write

 

   public static void write(String file, String valueOfMap1, String valueOfMap2) {

        try {
            BufferedWriter input = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(file, true)));
            input.write("Map1Output: " + valueOfMap1 + "\r\n");
            input.write("Map2Output: " + valueOfmap2 + "\r\n");
            input.newLine();
            input.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图