精华内容
下载资源
问答
  • 如何使用shell从一个文件中取出不在另一个文件中的内容
    千次阅读
    2017-01-23 11:05:02
    本文展示如何利用shell从一个文件中,(按行)找出不在另一个文件中的内容。

    #!/bin/bash
    #@filename checkAddWord.sh

    #allword.txt         存放总词库(每行一个)
    #newword.txt         存放新增词(每行一个)
    #newword.add.txt     在cygwin中执行sh checkAddWord.sh后,可新增词存入此文件

    #唯一化总库
    cat allword.txt | sort | uniq | sed -e "s/^\s*\xEF\xBB\xBF//g" | sed -e "{N;s/\r//g}" > allword.tmp.txt
    mv allword.tmp.txt allword.txt

    #唯一化新词库
    cat newword.txt | sort | uniq | sed -e "s/^\s*\xEF\xBB\xBF//g" | sed -e "{N;s/\r//g}" > newword.tmp.txt
    mv newword.tmp.txt newword.txt

    #得到已使用词库
    cat allword.txt newword.txt | sed -e "{N;s/\r//g}" | sort | uniq -c | grep "^\s*[2-9] " | sed -e "s/^\s*[2-9]\s//g" | sed -e "{N;s/\r//g}" | sed -e "s/^\s*\xEF\xBB\xBF//g" > usedword.txt
     
    #得到新词库
    cat newword.txt usedword.txt | sed -e "{N;s/\r//g}" | sort | uniq -c | grep "^\s*1 " | sed -e "s/^\s*1\s//g" | sed -e "s/^\s*\xEF\xBB\xBF//g" | sed -e "{N;s/\n/\r\n/g}" > newword.add.txt

    #删除已使用词库
    rm -rf usedword.txt

    echo "如下关键词可新增:"
    cat newword.add.txt

    更多相关内容
  • 导入线上so库文件。通过将so文件从apk中取出放到服务器上运行时下载并导入极大的减小apk的大小。本实例设定so文件在github上.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 最近在工作碰到一个很棘手的问题,需要读取出ubuntu系统某个目录下所有文件,由于服务器存储的文件实在太多,导致此过程效率十分低下,动辄需要等待一个小时之久,还只是一个目录。于是如何快速获取文件列表便...
  • Delphi经典图标,从delphi资源文件.res提取出来的所有图标.ico文件
  • 主要介绍了python读取csv文件指定行的方法详解,需要的朋友可以参考下
  • 在线导入so库文件

    2016-01-07 22:16:29
    导入线上so库文件。通过将so文件从apk中取出放到服务器上,运行时下载并导入,极大的减小apk的大小。本实例设定so文件在github上。
  • 有时候我们需要使用C++处理bam文件,比如取出read1或者read2等符合特定条件的序列,根据cigar值对序列指定位置的碱基进行统计或者对序列进行处理并输出等,这时我们可以使用htslib。htslib可以用来处理SAM, BAM,...
  • hello 大家好, 前不久公司里有个需求,把时序数据库的日志下载到本地. 大家都知道. 数据库里的数据 都是存在数据库里的(废话)....1: 取出数据, 我们默认为json文件吧 2: 在response加入指定的header 3: 将数据返
  • 假设有100亿个这样的 ip 地址存在文件中 这个文件大小大约是 100GB 问题:要统计出100亿个 ip ,重复出现次数最多的前10个分析100GB 几乎不可能一次加载进内存进行操作,所以必须要拆分 那么可以利用分治的思想...

    场景

    哈希分治法
    这是一个 ip 地址 127.0.0.1
    假设有100亿个这样的 ip 地址存在文件中
    这个文件大小大约是 100GB
    问题:要统计出100亿个 ip 中,重复出现次数最多的前10个

    分析

    100GB 几乎不可能一次加载进内存进行操作,所以必须要拆分
    那么可以利用分治的思想,把规模大的问题化小,然后解决各个小的问题,最后得出结果。

    实现思路

    • ipv4 地址是一个 32 位的整数,可以用 uint 保存。
    • 我先设计一个哈希函数,把100个G的文件分成10000份,每份大约是 10MB,可以加载进内存了。
    例如:我设计一个简单的哈希函数是 f(ip) = ip % 10000,(ip 是个32位整数)
    那么 5 % 10000 = 5,不管 5 在哪个地方 5 % 10000 的结果都是 5,这就保证了相同的 ip 会被放在同一个子文件中,方便统计,相同的元素经过同一个哈希函数,得出的哈希值是一样的。
    那么我把100亿个 ip,都进行 ip % 10000 的操作,就完成了 100GB 文件分解成 10000个子文件的任务了。当然实际中哈希函数的选取很重要,尽量使得元素分布均匀,哈希冲突少的函数才是最好的。
    
    

    记住,我把上面这个分解的过程叫做 Map,由一台叫 master 的计算机完成这个工作。

    10MB 的小文件加进内存,统计出出现次数最多的那个ip

    10MB 的小文件里面存着很多 ip,他们虽然是乱序的,但是相同的 ip 会映射到同一个文件中来!
    那么可以用二叉树统计出现次数,二叉树节点保存(ip, count)的信息,把所有 ip 插入到二叉树中,如果这个 ip 不存在,那么新建一个节点, count 标记 1,如果有,那么把 count++,最终遍历一遍树,就能找出 count 最大的 ip 了。
    

    我把这个过程叫做 Reduce,由很多台叫 worker 的计算机来完成。
    每个 worker 至少要找出最大的前10个 ip 返回给 master,master 最后会收集到 10000 * 10 个 ip,大约 400KB,然后再找出最大的前 10 个 ip 就可以了。
    最简单的遍历10遍,每次拿个最大值出来就可以了,或者用快速排序,堆排序,归并排序等等方法,找出最大前 k 个数也行。

    MapReduce

    我刚刚除了介绍了一种海量数据的哈希分治算法之外,还穿插了一个谷歌的 MapReduce 分布式并行编程模型,原理就是上面说的那些了,有兴趣的可以去详细了解。

    哈希函数是什么?哈希函数是把大空间的元素映射到一个小空间里。

    展开全文
  • 一、pd.read_csv() 、to_csv() 之 常用参数 ...作用:将csv文件读入并转化为数据框形式 1.filepath_or_buffer:(这是唯一一个必须有的参数,其它都是按需求选用的) 文件所在处的路径 2.sep: 指定分隔

    一、pd.read_csv() 、to_csv() 之 常用参数
    参考自:https://www.cnblogs.com/wyy1480/p/10322336.html
    或查看https://blog.csdn.net/weixin_44056331/article/details/89366105
    (一)pd.read_csv()
    作用:将csv文件读入并转化为数据框形式
    1.filepath_or_buffer:(这是唯一一个必须有的参数,其它都是按需求选用的)
    文件所在处的路径

    2.sep
    指定分隔符,默认为逗号’,’

    3.delimiter : str, default None
    定界符,备选分隔符(如果指定该参数,则sep参数失效)

    4.header:int or list of ints, default ‘infer’
    指定哪一行作为表头。默认设置为0(即第一行作为表头),如果没有表头的话,要修改参数,设置 header=None

    5.names
    指定列的名称,用列表表示。一般我们没有表头,即header=None时,这个用来添加列名就很有用啦!

    6.index_col:
    指定哪一列数据作为行索引,可以是一列,也可以多列。多列的话,会看到一个分层索引

    7.prefix:
    给列名添加前缀。如prefix=“x”,会出来"x1"、“x2”、"x3"酱纸

    8.nrows : int, default None
    需要读取的行数(从文件头开始算起)

    9.encoding:
    乱码的时候用这个就是了,官网文档看看用哪个:
    [ https://docs.python.org/3/library/codecs.html#standard-encodings]

    10.skiprows : list-like or integer, default None
    需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)。
    (二)to_csv()
    作用:将数据框写入本地电脑,保存起来
    参数解析:
    1.path_or_buf:字符串,放文件名、相对路径、文件流等;

    2.sep:字符串,分隔符,跟read_csv()的一个意思

    3.na_rep:字符串,将NaN转换为特定值

    4.columns:列表,指定哪些列写进去

    5.header:默认header=0,如果没有表头,设置header=None,表示我没有表头呀!

    6.index:关于索引的,默认True,写入索引
    二、实现取出csv表格的指定行列
    参考自:https://blog.csdn.net/qq_22592457/article/details/107801286

    list_a = np.arange(2)
    df = pd.read_csv('qunar_freetrip.csv',index_col=0,nrows=2,usecols=list_a)
    
    

    运行结果:
    在这里插入图片描述

    展开全文
  • 其实,向数据库存图片及其他任何文件都是一样的方法,都是用IO流以二进制的方式存入和取出的,本质上跟操作IO流没有什么差别,只是多了一个数据库访问而已。一下程序是我写的两个小Demo,一个存入文件,一个取出...

    其实,向数据库中存图片及其他任何文件都是一样的方法,都是用IO流以二进制的方式存入和取出的,本质上跟操作IO流没有什么差别,只是多了一个数据库访问而已。一下程序是我写的两个小Demo,一个存入文件,一个取出文件,没有任何逻辑,仅供参考。

    目录结构:


    数据库表结构:

    create table userimg(
           id number(8) primary key,
           pic blob
    );
    数据库工具:

    package com.lym.util;
    
    import java.io.File;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.Properties;
    
    import org.apache.commons.dbcp.BasicDataSource;
    
    /**
     * 数据库工具类
     * 
     * @author 刘彦民 2015年9月19日 下午11:08:28
     */
    public class DBUtil {
    	//数据库连接池
    	private static BasicDataSource ds;
    	
    	/**
    	 * 初始化数据库配置
    	 */
    	static{
    		Properties config = new Properties();
    		String path = "com"+File.separator+"lym"+File.separator+"config"+File.separator+"dbconfig.properties";
    		try {
    			config.load(DBUtil.class.getClassLoader().getResourceAsStream(path));
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		String driver = config.getProperty("jdbc.driver");
    		String url = config.getProperty("jdbc.url");
    		String username = config.getProperty("jdbc.username");
    		String password = config.getProperty("jdbc.password");
    		int maxActive = Integer.parseInt(config.getProperty("oracle.maxActive"));
    		int maxWait = Integer.parseInt(config.getProperty("oracle.maxWait"));
    		ds = new BasicDataSource();
    		ds.setDriverClassName(driver);
    		ds.setUrl(url);
    		ds.setUsername(username);
    		ds.setPassword(password);
    		ds.setMaxActive(maxActive);//数据库的最大连接数
    		ds.setMaxWait(maxWait);//数据库的延时等待时间
    	}
    	
    	/**
    	 * 连接数据库
    	 * @return
    	 * @throws Exception
    	 */
    	public static Connection getConnection() throws Exception {
    		try{
    			return ds.getConnection();
    		}catch(Exception e){
    			System.out.println("数据库连接失败!");
    			throw e;
    		}
    	}
    	
    	/**
    	 * 关闭数据库
    	 * @param conn
    	 * @param stat
    	 * @param rs
    	 * @throws Exception
    	 */
    	public static void close(Connection conn, Statement stat, ResultSet rs) throws Exception {
    		try {
    			if (conn != null)
    				conn.close();
    			if (stat != null)
    				stat.close();
    			if (rs != null)
    				rs.close();
    		} catch (Exception e) {
    			System.out.println("数据库关闭失败!");
    			throw e;
    		}
    	}
    }
    

    jdbc.driver=oracle.jdbc.OracleDriver
    jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
    jdbc.username=scott
    jdbc.password=tiger
    oracle.maxActive=5
    oracle.maxWait=5000

    将图片插入到数据库中:

    package com.lym.test;
    
    import java.io.FileInputStream;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    
    import com.lym.util.DBUtil;
    
    /**
     * 把图片或文件保存到数据库中
     * 
     * @author 刘彦民 2015年9月20日 上午11:46:56
     */
    public class JDBCDemo2 {
    	
    	/**
    	 * 保存方法
    	 * @param filename 文件名称
    	 */
    	public static void saveImgOrFile(String filename) throws Exception {
    		FileInputStream in = new FileInputStream(filename);
    		Connection conn = null;
    		PreparedStatement ps = null;
    		try{
    			conn = DBUtil.getConnection();
    			String sql = "insert into userimg(id,pic) values(seq_userimg_id.NEXTVAL,?)";
    			ps = conn.prepareStatement(sql);
    			ps.setBinaryStream(1, in, in.available());
    			ps.execute();
    			System.out.println("保存成功!");
    		}catch(Exception e){
    			System.out.println("保存文件失败!");
    			throw e;
    		}finally{
    			DBUtil.close(conn, ps, null);
    		}
    	}
    	
    	
    	public static void main(String[] args) {
    		String filename = "D:/Thread.png";
    		try {
    			saveImgOrFile(filename);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }
    

    从数据库中读取图片:

    package com.lym.test;
    
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.sql.Blob;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    import com.lym.util.DBUtil;
    
    /**
     * 从数据库中读取文件
     * 
     * @author 刘彦民 2015年9月20日 下午12:38:10
     */
    public class JDBCDemo3 {
    	/**
    	 * 取出图片或文件
    	 */
    	public static void readImgOrFile() throws Exception {
    		Connection conn = null;
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		try{
    			conn = DBUtil.getConnection();
    			String sql = "select id,pic from userimg where id=?";
    			ps = conn.prepareStatement(sql);
    			ps.setInt(1, 1);
    			rs = ps.executeQuery();
    			if(rs.next()){
    				FileOutputStream out = new FileOutputStream("T.png");
    				Blob blob = rs.getBlob("pic");
    				InputStream in = blob.getBinaryStream();
    				byte[] data = new byte[1024*10];
    				int len = -1;//每次读取的字节数
    				while((len = in.read(data)) != -1){
    					out.write(data, 0, len);
    				}
    				out.close();
    				in.close();
    				System.out.println("文件读取完毕!");
    			}
    		}catch(Exception e){
    			System.out.println("读取文件失败!"+e.getMessage());
    			throw e;
    		}finally{
    			DBUtil.close(conn, ps, rs);
    		}
    	}
    	public static void main(String[] args) {
    		try {
    			readImgOrFile();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }
    


    展开全文
  • 取csv文件中的多列保存到新的csv

    千次阅读 2020-12-24 15:43:47
    本次处理是针对多个csv,分别取每个文件的多列,再逐个保存到新的csv 提示:以下是本篇文章正文内容,下面案例可供参考 一、直接上代码 代码如下 # !/user/bin/env python3 # -*- coding: utf-8 -*- import os ...
  • 库文件一般指计算机上的一类文件,分两种,一种是静态库,另一种是动态库即DLL(Dynamic Link Library)文件,又叫动态链接库文件。静态库和动态库的区别是:静态库在程序的链接阶段被复制到了程序;动态库在链接...
  • (2.6分)【填空题】____(telnet/console)可以让管理员从网络某台电脑登录到交换机进行配置。【填空题】已知列表 x = [1, 2],那么执行语句 x.append([3]) 之后,x的值为__。(2.6分)【单选题】以下哪一个表达式不能...
  •   NetCDF(network Common Data Form)网络...  这里采用python的一个专门用来处理.nc文件–netCDF4 该的安装直接: pip install netCDF4 这个玩起来稍微比Pandas复杂一些。 下面以全球降水量数据为例进行
  • //从文件中取出内容 QFile file("D:\\testMod\\Toolpath\\top-mark2-1.900"); if (!file.open(QFile::ReadOnly | QFile::Text)) return 0; QByteArray ba = file.readAll();//文件内容 file....
  • 本文使用vcglib进行读取obj文件(其他各种3d模型格式也是同样的方法)并显示,但是目前仍然遇到一些问题没有解决:读取的纹理信息全部缺失(读出来全部为0,因此下图并没有贴纹理),查了很久真心不知道为什么,...
  • 一、找到重复的库文件 二、打开终端, 并cd 到文件夹下, 使用 lipo -info libALMovie.a (libALMovie.a替换为自己的文件名称)查看该文件下的架构信息 三、分平台逐步做以下步骤: mkdir armv7:创建临时文件夹 ...
  • C语言 目标文件和可执行文件(ELF文件

    万次阅读 多人点赞 2019-05-15 18:55:15
    1.C语言创建程序 1.1C语言创建(分为4个步骤) 编辑 ...编译器的输出结果成为目标代码,存放它们的文件称为目标文件。扩展名为.o或者.obj。 (该部分编译是指汇编器编译汇编语言或者编译器编译...
  • linux如何安装中文字体

    千次阅读 2021-06-22 18:48:26
    Linux字体文件放在/usr/share/font/,只要将字体文件拷贝到这里就可以了。 这里示例安装Windows的所有字体。 1,新建路径存放字体:/usr/share/fonts/ 2,进入Windows下> 的字体目录c:\windows\Fonts。复制...
  • 前言 博主github ... git所在的文件夹文件大致有4种状态 Untracked: 未跟踪, 此文件在文件夹, 但并没有...文件已经入库, 未修改, 即版本库中文件快照内容与文件夹完全一致. 这种类型的文件有两种去处, 如...
  • 首先我使用的是jupyter notebook,要实现python的pandas对CSV文件的操作,首相肯定需要导入库,然后就是要拥有一个CSV文件的样本啦,因为CSV文件的数据样本很多人可能没有,所以我是直接搜索的成绩单样本,然后写...
  • 需先安装spreadsheet第三方...//取出要导出的值 $id = I('id'); $result=$this->getReportData($id); //验证值是否存在 if (empty($result)) { return [false, '未获取到相关表格数据!']; } vendo...
  • Qtpro文件从相对路径导入库

    万次阅读 2017-02-16 20:00:13
    Qtpro文件从相对路径导入库Qt工程有lib、dll、a、so等文件需要导入时,有时需要指定路径。...那么,如何在Qt pro文件中通过相对路径导入呢。代码LIBS += -L ./ \ -L ./libpath/ \ -l mylib \ -l mylib2 LI
  • makefile编写、GDB调试、so库文件生成

    千次阅读 2014-09-22 21:31:54
    .SUFFIXES:.c .o //.c和.o建立关联 CC=gcc SRCS=hello.c\  add.c //同时编译两个.c文件 OBJS=$(SRCS:.c=.o)//ORJS=hello.o add.o EXEC=hello start: $(OBJS) //依赖hello.o add.o  $(CC) -
  • 如何引用自定义标签库中的tld文件

    千次阅读 2015-11-27 17:29:10
    在JSP使用标签是很平常的事情,在制作自定义...在web.xml中怎么定义tld文件的位置? 以下是具体的分析 Ø Taglib的使用: 首先是在头部申明taglib, uri必须是web.xml定义的,或者是原始tld文件定义的。
  • 通过ffi在nodejs调用C接口 概述 获取C接口的指针内容 ...需要将C源码build成动态链接以供调用,在Linux下将C源码build成.so文件,在windows下build成.dll文件。 获取C接口的指针内容 异步调用 实际案例
  • 找出指定的行和指定的列 data.iloc[:,:2] #即所有行,前两列的数据 在规定范围内找出符合条件的数据 data.iloc[:10,:][data....6000] ...参考python下pandas库中读取指定行或列数据(excel或csv) ...
  • 一、通过requests爬取数据并保存为csv文件

    万次阅读 多人点赞 2020-03-28 12:32:34
    import json data_json = json.loads(r.text) data_json.keys() 我们可以看出在data存放着我们需要的数据,因此我们取出数据。 data = data_json['data'] data.keys() 数据总共有四个键,每个键存储着不同的...
  • 集成两方sdk出现库文件冲突解决

    千次阅读 2016-05-04 08:54:18
    1.首先把其中一个冲突的库文件拷贝到一个新的文件夹里,用命令cd切换到当前文件夹,用 lipo -info libx.a(这个.a文件就是冲突的库文件名)查看是否支持多平台,例如armv7,arm64等,如果支持多平台,需要我们逐一进行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 149,406
精华内容 59,762
关键字:

怎样取出库中的文件