精华内容
下载资源
问答
  • 举个例子,我R中导入了个较大的行列数据,但是我只需要部分指定列,例如我只需要第1,3,5,7,9,11,13,15,17列(当然我需要的不仅仅这么多),并且将调出来的列数据重新生成个行列数据表,该怎么写这个for循环,谢谢...

    举个例子,我R中导入了一个较大的行列数据,但是我只需要部分指定列,例如我只需要第1,3,5,7,9,11,13,15,17列(当然我需要的不仅仅这么多),并且将调出来的列数据重新生成一个行列数据表,该怎么写这个for循环,谢谢

    不需要for循环呀,一句话搞定:newdata

    olddata[,c(1,3,5,7,9,11,13,15,17)]

    我的意思是我要提取很多这样的列,不可能每一列都手动输进去,所以必须得用一个for循环

    解答:newdata

    意思是这里面icol是变的?

    col.l

    newdata

    for (icol in 1:3) {

    newdata[[icol]]

    olddata[,col.l[[icol]]]

    }

    谢谢,你写的代码好像跟我问的不符合,我的意思很简单,就是从现有数据框z中提取很多列(列是有规律的,符合2+4i,i

    num

    data[,num]

    照你的意思,这样行吗?

    newdata

    我主要想用for循环,下面的方法只能出现最后一列,前面的列都被后面的覆盖了,所以只出现了最走一列

    cols

    newdata

    length(cols))

    for (icol in 1:length(cols)) {

    newdata[,icol]

    olddata[,cols[icol]]

    }

    展开全文
  • 如上图所示的txt文件,我想用C++提取每一行的信息,例如第一行前两个浮点型,最后一个整型分别保存至变量中,最后可以实现,我对每一列的使用,比如求最后一列的平均值,保存的时候我希望保存成浮点型数据。应该怎么...
  • 现在,需要在B列把A列数据中的手机号码提取出来。您打算怎么操作呢?当然是……快速填充了。然而,快速填充这个玩意儿,时灵时不灵的。小数据时用两下还可以,毕竟结果若是错了眼就可以看出来。而大数据时,还是别...

    本文由两部分构成,其一提出问题并解决问题;其二解释相关函数公式。

    1,

    有这样一个问题,如下图所示,A列是数据列,混合文本中夹杂着手机号码;现在,需要在B列把A列数据中的手机号码提取出来。

    7a5a26bceeed2ac6f836a4858dfc5195.png

    您打算怎么操作呢?

    当然是……快速填充了。

    然而,快速填充这个玩意儿,时灵时不灵的。

    小数据时用两下还可以,毕竟结果若是错了一眼就可以看出来。而大数据时,还是别用了,简直等同于自杀,而且怎么死的都不知道。

    比如这个问题,快速填充的结果如下:

    9102baf3b37c0724cf38ca1668cc65d2.png

    这问题如果使用函数公式解决,常用的套路有以下4个:

    1、=MAX(IFERROR(--MID(A2,ROW($1:$50),11),0))

    2、=MIN(IFERROR(--MID(A2&"a",ROW($1:$50),11),"T"))

    3、=VLOOKUP(,MID(A2,ROW($1:$50),11)*{0,1},2,)

    4、=-LOOKUP(,-MID(A2&"a",ROW($1:$50),11))

    本例中,四个公式的计算结果相同,但由于它们的计算原理并不一样,在不同的例子上彼此之间还是有所区别的。

    MAX函数是提取参数中的最大值,MIN函数是提取参数中的最小值。因此,当单元格存在多个手机号时,两者所提取的结果将不同。

    a502a651074f9351f03d09946fee123d.png

    VLOOKUP函数的查询机制是从前向后查,且查到即止,只提取首个查询结果。

    LOOKUP(比查询范围内所有值都大的同类型的值,查询范围),该套路是提取最后一个符合条件的结果。

    你瞧,两个函数的查询机制刚好是反过来的;没有优劣之分,只是各有所长。如果我们需要提取首个手机号,可以使用VLOOKUP;如果是提取最后一个手机号,可以使用LOOKUP。

    3c5307a4d30a1e9cb46c9c3d0502c1da.png

    2,

    四个公式都用到了MID(A2,ROW($1:$50),11)语句。该语句的意思是,从A2单元格的第1~50位的位置分别提取11个字符。只所以提取11个字符是因为手机号为11位。

     =MAX(IFERROR(--MID(A2,ROW($1:$50),11),0))

    --MID()是将MID函数的计算结果转换为数值,当MID函数的计算结果为纯文本时,减负运算将返回错误值,因此使用IFERROR函数将错误值转换成0,最后使用MAX函数提取最大值。

     =MIN(IFERROR(--MID(A2&"a",ROW($1:$50),11),"T"))

    和MAX函数套路不同的是,MID的第一参数为A2&"a",这是防止数值存在单元格尾部时,造成公式计算错误。IFERROR将错误值屏蔽为文本”T”,是因为MIN函数计算时会忽略文本值,此处的”T”可以替换为其它文本字符,例如“星光”,”” “亲爱的”等等。

     =VLOOKUP(,MID(A2,ROW($1:$50),11)*{0,1},2,)

    VLOOKUP的第一参数是0,公式做了省略处理。

    MID(A2,ROW($1:$50),11)*{0,1},通过MID函数的计算结果和常量数组{0,1}之间运算,产生了两列50行的二维数组,从中查询首个数值。

     =-LOOKUP(,-MID(A2&"a",ROW($1:$50),11))

    LOOKUP的查找值为0,公式做了省略处理。

    -MID(A2&"a",ROW($1:$50),11),该部分的计算结果有两种,一种为错误值,一种是小于等于零的数值。LOOKUP找到最后的数值后,再进行一次减法运算,将计算结果转换为正数。

    图文制作:看见星光

    展开全文
  • 中间有些部分按着自己的喜好做了更改,条条道路通罗马,选择自己最舒服的那条就好~、最基本(选数据怎么数据从表里选出来?-- 从table_1中选择name select name from table提取数据分属不同表格,如何筛选...

    980d8f2faea85981ddb9a3dcb3d53f1f.png

    受益于人美心善无眠小姐姐的数据分析面试必备——SQL准备好了么,按着框架一步步又重新敲了一遍,好记性离不开烂笔头。中间有些部分按着自己的喜好做了更改,条条道路通罗马,选择自己最舒服的那条就好~

    一、最基本(选数据)

    • 怎么把数据从表里选出来?
    -- 从table_1中选择name列
    select name from table
    • 提取的数据分属不同表格,如何筛选?
    -- table_1里有id,age;table_2里有id,sex。提取id,age,sex三列信息
    select a.id,a.age,b.sex from 
    (select id,age from table_1) a
    join 
    (selcet id,sex from table_2) b
    on a.id=b.id

    在此插入,表连接

    c149451e973157648ba41566ad48884b.png

    join:默认是inner join

    a2970f609e48698cb205cf0ed8bd0693.png

    left join: 左连接,以左表为准,逐条去右表找可匹配字段,如果有多条会逐次列出,如果没有找到则是NULL

    d76f3c61a2f76ca46fe703ea22aa71a7.png

    right join:右连接,以右表为准,逐条去左表找可匹配字段,如果有多条会逐次列出,如果没有找到则是NULL

    052bed629ad0c778e407141ce94f46bc.png

    full outer join:全连接,包含两个表的连接结果,如果左表缺失或者右表缺失的数据会填充NULL(有的数据库不支持)

    还有,纵向合并(两张表列数不相同,无法合并)

    # union 合并后删除重复值
    select * from table_1
    union
    select * from table_2

    b41710c75cdd5c4005f4863b9c37fa3d.png
    # union all 合并后保留重复值
    select * from table_1
    union all
    select * from table_2

    union和union all 均基于列合并多张表的数据,所合并的列格式必须完全一致。union的过程中会去重并降低效率,union all 直接追加数据。union 前后是两段select 语句而非结果集。

    二、最常用

    dd58242110216dfddd93123584750035.png
    • 如果有千万用户数据,想知道有多少去重的用户数?—— 去重 distinct
    -- 统计出不同的id
    SELECT DISTINCT id from table_1
    
    -- 统计出不同的id个数
    SELECT count(DISTINCT id) id from table_1
    
    -- 优化版本的count distinct
    select count(*) FROM
    (SELECT DISTINCT id from table_1) as t

    distinct 会对结果集去重,对全部选择字段进行去重,并不能针对其中部分字段进行去重。使用count distinct进行去重统计会将reducer数量强制限定为1,而影响效率,因此适合改写为子查询。

    • 分性别统计,看看男女各多少?—— 聚合函数和group by
    -- 统计不同性别(F、M)中,不同的id个数
    select sex,count(distinct id) from table_1
    group by sex
    -- 其他聚合函数例如:max/min/sum/avg
    
    -- 统计每家公司最大/最小/平均年龄
    select max(age),min(age),avg(age) from table_1
    group by company
     
    • 只想查看A公司的男女人数数据?—— 筛选 where/having
    -- 统计A公司的男女人数
    select sex,count(distinct id) from table_1
    where company='A'
    group by sex
    
    --统计各公司的男性平均年龄,并且仅保留平均年龄30岁以上的公司
    select company,avg(age) from table_1
    group by company
    having avg(age)>30
    • 想查出A公司的女职员平均年龄?—— 多重筛选
    select ,avg(age) from table_1
    where company='A' and sex='F'
    • 对收入分组 —— case when
    select id,
    case
    when salary<500 then '[0,500)'
    when salary<1000 then '[500,1000)'
    when salary<1500 then '[1000,1500)'
    else '1500+'
    end as 分组
    from table_1

    case 函数的格式为(case when 条件1 then value1 else null end), 其中else 可以省,但是end不可以省

    • 字符串

    1.concat(A,B...)返回将A和B按顺序连接在一起的字符串

    SELECT *,concat('ca','t') from table_1
    -- 得到一列,内容为 cat 

    2. split(str, regex)?????

    3.substr(str,0,len) 截取字符串从0位开始的长度为len个字符

    select substr('abcde',3,2) from table_1
    -- 得到cd

    三、基础进阶

    • 排序 —— row_number/rank/dense_rank
    -- 按成绩排序
    SELECT *,
    row_number() over (order by 成绩 DESC) as 'row_number',
    rank() over  (order by 成绩 DESC) as 'rank',
    dense_rank() over (order by 成绩 DESC) as 'dense_rank' 
    from table_1

    bd86f66a4f513c7639c49a1ec9f52641.png
    • 想要获取top10%的值?
    SELECT * from
    (select *,
    row_number() over (ORDER BY `成绩` DESC) as 排名
    from table_1) as t
    where t.排名<(SELECT count(`学号`) from table_1)*0.25
    ;

    71790efa3758fb8e6dc1ca5992c892e3.png
    • 对时间字段进行操作?—— 时间函数
    SELECT DATE_FORMAT(20200915,'%Y-%m') as 年月,
    DATEDIFF(20200915,20200914) as 间隔天数,
    year(20200901)-year(20190817) as 间隔年 
    from table_1

    c58ab36222d9ed1a79df8fa0182c38ad.png
    #时间函数补充--获取当前时间
    SELECT now() as 当前时间,
    DATE_FORMAT(now(),'%Y-%m-%d') as 年月日,
    year(now()) as 年,--------------------------------------还有month()/day()/hour()/minute()/second()
    DATE_FORMAT(now(),'%H:%i:%S') as 时分秒,
    time(now()),--------------------------------------------同样提取时分秒
    WEEKOFYEAR(now()) as 第几周,
    dayofweek(now()) as 星期,
    quarter(now()) as 季度
    ;

    展开全文
  • 通常的做法是需要增加一列,把数据单独提取出来,然后进行求和。当然也可以用公式一步到位直接求和。学习更多技巧,请收藏关注部落窝教育excel图文教程。数据求和原本很简单,可是如果数据录入不规范,譬如账目中的...

    9aeed99d458f0877ba31c455caf306a6.png

    编按:有些单位部分账目不够规范,譬如报销表,报销内容中文字和金额数据是记录在一起的,怎么求和得到报销金额呢?通常的做法是需要增加一列,把数据单独提取出来,然后进行求和。当然也可以用公式一步到位直接求和。学习更多技巧,请收藏关注部落窝教育excel图文教程。


    数据求和原本很简单,可是如果数据录入不规范,譬如账目中的文字和数据记录在一起,那求和就复杂了!请看下面的例子。这是一个简单的流水账,费用内容文字和具体金额是记录在一个单元格内的,现在我们要计算出总的消费金额。

    c4889b6562601bed309dd54d14f581a2.png

    如何求和呢?常规操作,是先建立辅助列把金额数据提取出来,然后进行求和。

    数据提取,大家的第一反应可能是用Ctrl+E。然而此处,用Ctrl+E会遇到问题,因为有小数和负数存在。下图是用Ctrl+E的效果,存在错误:

    ce2c10bfb7d83df6086908883f4b8076.png

    当前数据少,我们可以Ctrl+E后再手动修改个别错误数据。

    如果数据有成百上千条呢?显然我们需要另外的方法来处理。

    一、用公式提取数据,然后再求和

    我们一起来分析这组数据的特点。总结后有以下几点:

    l 数据和文本混合,文本全部为汉字,没有字母。

    l 每个单元格中只包含了一个数据。

    l 存在小数和负数。

    l 在数据(含负号在内)前后没有其他单字节字符。

    l 数据在字符串中所在位置不同,也没有规律。

    l 数据的字符长度不固定。

    针对以上的几个特点,我们可以考虑使用MIDB函数、SEARCHB函数来提取数字。

    在单元格C2中输入“=--MIDB(B2,SEARCHB("?",B2),2*LEN(B2)-LENB(B2))”并向下拖曳即可。

    8b6c20a5d76a6f4cb8bb0f94d9139e9b.png

    公式思路和函数解释:把数据从字符串中提取出来就是一个文本提取操作。当前的难点是每个单元格中数据开始提取的位置和长度不固定。从前面的分析中,我们得到一个可以利用的规律:在数据(含负号在内)前后没有其他单字节字符。这条规律的价值在于,单字节字符部分就是我们需要的数据(含负号)。那只要能用函数自动获取每个单元格中单字节字符的开始位置和长度,一切问题就解决了。

    l MIDB函数是根据指定字节数提取文本。

    它与我们常用的MID函数用法一致,唯一的区别就是:MID根据字符数来提取文本,MIDB根据字节数来提取文本。

    l SEARCHB函数用于解决从哪里开始提取文本。

    SEARCHB函数是查找第一个字符串在第二个字符串中的起始位置。它返回的起始位置用字节数表示。

    SEARCHB("?",B2)表示在B2单元格(第二个字符串)中查找第一个单字节(“?”)字符的字节位置。其中“?”在本处表示任意单字节字符。SEARCHB("?",B2)实际查找的就是数字6(它是B2单元格中第一个单字节字符)在B2中的位置。在公式中选中SEARCHB("?",B2)按F9,可以看到返回结果是7。

    这部分函数公式帮我们解决了从哪里开始提取文本。

    l 2*LEN(B2)-LENB(B2)这部分函数公式解决了文本的提取长度。

    LEN(B2)统计的是B2单元格字符串的字符数;LENB(B2)统计的是B2单元格字符串的字节数。两倍字符数减去字节数就可以得到单元格中单字节字符的字节数,对本例来说就是得到数据的字节数。

    现在,数字提取出来了,最后再利用SUM函数求和即可。学习更多技巧,请收藏关注部落窝教育excel图文教程。

    二、直接用一个公式完成求和

    这次我们来增加一些难度。要求在一个单元格内直接用公式求出总费用。

    在单元格D2中输入“=SUM(--MIDB($B$2:$B$10,SEARCHB("?",$B$2:$B$10),2*LEN($B$2:$B$10)-LENB($B$2:$B$10)))”,三键回车(Shfit+Ctrl+Enter)即可。

    9bca5fb387ca91b7c18e063e4f92714e.png

    公式思路和函数解释:要直接用SUM求和,那就必须让MIDB函数返回一组数而不是单个的值。因此我们把上一个公式中的B2更换成了B2:B10,再套入到SUM函数中,输入完毕按三键回车。

    好了,以上就是今天分享给大家的内容,希望朋友们都可以掌握。学习更多技巧,请收藏关注

    部落窝教育www.itblw.com

    这个案例,大家可以学到的技能和教训:

    l 技能:混合文本中的单字节字符都是一个数据时的数据提取与求和方法

    l 教训:不规范录入将增加工作难度


    ****部落窝教育-excel文字数据混合求和****

    原创:Excel应用之家/部落窝教育(未经同意,请勿转载)

    更多教程:

    部落窝教育www.itblw.com

    微信公众号:exceljiaocheng,+v:blwjymx2


    做Excel高手,快速提升工作效率,部落窝教育

    一周Excel直通车(7天学会Excel)-部落窝教育www.itblw.com
    59a20c47a354acea94f60bbe7f0be350.png

    视频和

    滴答老师课程-部落窝教育www.itblw.com
    59a20c47a354acea94f60bbe7f0be350.png

    直播课全心为你!

    相关推荐:

    提取数字的万能公式:Excel数字提取技巧:从包含文字的单元格中提取所有数字的万能公式

    SUM求和高阶用法:SUM函数的进阶用法:快速对交叉区域、应收款项、小计行求和!

    最简单的条件求和函数:DSUM,最简单的条件求和函数!你知道不?

    按颜色求和:Excel教程:Excel根据单元格填充颜色求和的三种方法​

    展开全文
  • 知识图谱在构建过程中有个步骤就是知识抽取,知识抽取里面有好多种数据,什么结构化数据,半结构化数据,非结构化数据…今天学习的是比较简单的从docx的表格里提取数据(我也没怎么学过python,我不生产代码,我只是...
  • 3.4.0 海量日志数据提取出某日访问百度次数最多的那个IP 3.4.1 有10个文件,每个文件1G,每个文件的每行都存放的是用户的query,每个文件的query都可能重复。如何按照query的频度排序? 3.4.2 蚂蚁爬杆问题 ...
  • 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 5 存储类型 6 1.10 同个静态(static)函数或变量的所有声明都必须包含static存储类型吗? 6 1.11 extern在函数声明中是什么...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    书中出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。 《你必须知道的495个C语言问题》结构...
  • 一部分 背景知识、数据建模、UNIX/Linux和SQL*Plus 1 第1章 Oracle DBA的世界 2 1.1 Oracle DBA的任务 2 1.1.1 DBA的安全任务 3 1.1.2 DBA的系统管理任务 3 1.1.3 DBA的数据库设计任务 5 1.2 不同的...
  • 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 存储类型 1.10 同个静态(static)函数或变量的所有声明都必需包含static存储类型吗? 1.11 extern在函数声明中是什么意思? ...
  • 书中出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。 本书结构清晰,讲解透彻,是各高校相关...
  • 8.3 更新,自己的笔记,凑合看下吧,有些我觉得没太重要的就没记上去(也包括Matplotlib的那一部分) 待续 Pandas使用 入门级神作,没错就是10 Minutes to pandas 进阶级神作,没错就是Stack Overflow Pandas...
  • 道路与路口检测由于其特殊性以及对安全的影响,被单独出作为个细分的小方向。 研究的前沿一般涉及一些细分场景,比如建筑工地的检测、停车位的检测等等。 11. 决策系统(Planning andDecision): 主要涉及...
  • 他采用最适合工程师的学习方式,不拘泥于某特定编程语言,从实际开发场景出发,由浅入深教你学习数据结构与算法的方法,帮你搞懂基本概念和核心理论,深入理解算法精髓,帮你提升使用数据结构和算法思维解决问题的...
  • asp.net知识库

    2015-06-18 08:45:45
    Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试 在C#里把ArrayList转换为Array 或 把...
  • 深入学习shell脚本艺术

    热门讨论 2011-02-22 04:01:01
    一部分. 热身 1. 为什么使用shell编程 2. 带着一个Sha-Bang出发(Sha-Bang指的是#!) 2.1. 调用一个脚本 2.2. 初步的练习 第二部分. 基本 3. 特殊字符 4. 变量和参数的介绍 4.1. 变量替换 4.2. 变量...
  • 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量?  存储类型 1.10 同个静态(static)函数或变量的所有声明都必须包含static存储类型吗?  1.11 extern在函数声明中是什么意思?...
  •  1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 存储类型 1.10 同个静态(static)函数或变量的所有声明都必须包含static存储类型吗? 1.11 extern在函数声明中是什么意思?...
  • 精通Oracle PL/SQL--详细书签版

    热门讨论 2012-08-21 13:06:28
    4.8.2 作为事务的一部分执行DDL 162 4.8.3 审计SELECT语句 164 4.8.4 回滚后保持审计 167 4.9 小结 169 第5章 PL/SQL优化技巧 170 5.1 尽量减少解析和内存消耗 170 5.1.1 触发器内的代码 170 5.1.2 调用者...
  • JAVA 正则表达式

    热门讨论 2010-01-15 11:16:37
    //替换第个符合正则的数据 System.out.println(matcher.replaceFirst("Java")); ◆文字替换(全部) Pattern pattern = Pattern.compile("正则表达式"); Matcher matcher = pattern.matcher("正则表达式 ...
  • c#学习笔记.txt

    热门讨论 2008-12-15 14:01:21
    readonly声明一个字段,该字段只能赋值为该声明的一部分或者在同一类的构造函数中。 sealed指定类不能被继承。 static声明属于类型本身而不是属于特定对象的成员。 unsafe声明不安全的上下文。 virtual在派生类中...
  • 深入浅出MySQL数据库开发、优化与管理维护

    千次下载 热门讨论 2014-01-21 15:48:01
     17.2 巧用RAND()提取随机行   17.3 利用GROUPBY的WITHROLLUP子句做统计   17.4 用BITGROUPFUNCTIONS做统计   17.5 数据库名、表名大小写问题   17.6 使用外键需要注意的问题   17.7 小结   第...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    软件是计算机系统中与硬件相互依存的部分,它是包括程序、数据及相关文档的完整集合。 软件的定义及其特点 软件危机 软件危机 软件危机 在软件开发和维护过程中所遇到的系列严重问题 软件危机的表现 对...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

一列数据怎么提取一部分