精华内容
下载资源
问答
  • 重复值是所有值与另一个所有值完全匹配值,筛选唯一值时,将临时隐藏重复值,但删除重复值时,则会永久删除重复值。最好先筛选唯一值或对其应用条件格式,以便在删除重复值之前确认结果是所需。...
    重复值是行中的所有值与另一个行中的所有值完全匹配的值,筛选唯一值时,将临时隐藏重复的值,但删除重复值时,则会永久删除重复值。最好先筛选唯一值或对其应用条件格式,以便在删除重复值之前确认结果是所需的。下面就为大家详细介绍下如何筛选唯一值或删除重复值以及怎么对唯一值或重复值应用条件格式等等,感兴趣的朋友可以参考下。

    筛选唯一值或删除重复值

    在 Microsoft Office Excel 2007 中,您可以使用多种方法筛选唯一值或删除重复值:

    要筛选唯一值,请使用“数据”选项卡上的“排序和筛选”组中的“高级”命令。

    要删除重复值,请使用“数据”选项卡上的“数据工具”组中的“删除重复项”命令。

    要突出显示唯一值或重复值,请使用“开始”选项卡上的“样式”组中的“条件格式”命令。

    了解筛选唯一值或删除重复值的信息

    筛选唯一值和删除重复值是两个紧密相关的任务,这是因为所显示的结果是相同的:一个唯一值的列表。但它们差别仍很大:筛选唯一值时,将临时隐藏重复的值,但删除重复值时,则会永久删除重复值。

    重复值是行中的所有值与另一个行中的所有值完全匹配的值。重复值是由单元格中显示的值确定的,它不必是存储在单元格中的值。例如,如果不同的单元格中有相同的日期值,一个格式为“3/8/2006”,另一个的格式为“Mar 8, 2006”,则值是唯一的。

    最好先筛选唯一值或对其应用条件格式,以便在删除重复值之前确认结果是所需的。

    筛选唯一值

    选择单元格区域,或确保活动单元格在一个表中。

    在“数据”选项卡上的“排序和筛选”组中,单击“高级”。

    Excel 功能区图像

    在“高级筛选”对话框中,请执行下列操作之一:

    若要就地筛选单元格区域或表,请单击“在原有区域显示筛选结果”。

    若要将筛选结果复制到另一个位置,请执行以下操作:

    单击“将筛选结果复制到其他位置” 。

    在“复制到”框中,输入单元格引用。

    也可以单击“压缩对话框”按钮图像 以临时隐藏对话框,在工作表上选择单元格以后,再按“展开对话框”按钮图像

    选中“选择不重复的记录”复选框,然后单击“确定”。

    所选区域中的唯一值将复制到新位置。

    删除重复值

    删除重复值时,只有单元格区域或表中的值会受影响。在单元格区域或表以外的其他任何值都不会更改或移动。

    由于要永久删除数据,因此最好在删除重复值之前,先将原始单元格区域或表复制到另一个工作表或工作簿。

    选择单元格区域,或确保活动单元格在一个表中。

    在“数据”选项卡上的“数据工具”组中,单击“删除重复项”。

    Excel 功能区图像

    请执行下列一项或多项操作:

    在“列”下,选择一个或多个列。

    若要快速选中所有列,请单击“全选”。

    若要快速清除所有列,请单击“取消全选”。

    如果单元格区域或表包含很多列,并且您只想选择几个列,您会发现更容易的做法是单击“取消全选”,然后在“列”下面选择这些列。

    单击“确定”。

    将显示一条消息,指示删除了多少重复值,以及保留了多少唯一值,或者是不是没有删除重复值。

    单击“确定”。

    无法从分级显示的或具有分类汇总的数据中删除重复值。要删除重复值,您必须同时删除分级显示和分类汇总。

    对唯一值或重复值应用条件格式

    注释:无法按唯一值或重复值对数据透视表的值区域中的字段应用条件格式。

    快速格式化

    选择区域、表或数据透视表中的一个或多个单元格。

    在“开始”选项卡的“样式”组中,单击“条件格式”旁边的箭头,然后单击“突出显示单元格规则”。

    Excel 功能区图像

    选择“重复值”。

    输入要使用的值,然后选择格式。

    高级格式化

    选择区域、表或数据透视表中的一个或多个单元格。

    在“开始”选项卡上的“样式”组中,单击“条件格式”旁边的箭头,然后单击“管理规则”。

    将显示“条件格式规则管理器”对话框。

    请执行下列操作之一:

    若要添加条件格式,请单击“新建规则”。

    将显示“新建格式规则”对话框。

    若要更改条件格式,请执行下列操作:

    确保在“显示其格式规则”列表框中选择了相应的工作表或表。

    也可以采用以下方式更改单元格区域:在“应用于”框中单击“压缩对话框”按钮图像 以临时隐藏对话框,在工作表上选择新的单元格区域,然后选择“展开对话框”按钮图像

    选择规则,然后单击“编辑规则”。

    将显示“编辑格式规则”对话框。

    在“选择规则类型”下,单击“仅对唯一值或重复值设置格式”。

    在“编辑规则说明”下的“全部设置格式”列表框中,选择“唯一”或“重复”。

    单击“格式”以显示“设置单元格格式”对话框。

    选择当单元格值符合条件时要应用的数字、字体、边框或填充格式,然后单击“确定”。

    可以选择多个格式。选择的格式将在“预览”框中显示出来。http://www.wdashi.com/decode-pdf

    展开全文
  • EXCEL数据文件中,如果按某几个列比较,都相等几行称为重复行,那么怎么删除多余的重复行,只留下一? 如果数据少,只有几十数据,那么手工删除也是可以。而如果数据量很大,手工处理就会是很麻烦...

    在EXCEL数据文件中,如果按某几个列值比较,值都相等的几行称为重复行,那么怎么删除多余的重复行,只留下一行?

    如果数据少,只有几十行数据,那么手工删除也是可以的。而如果数据量很大,手工处理就会是很麻烦的事了,用 Excel 自带的 VBA 来处理也会经常卡死。

    自己编写程序来实现?也是可行的,不过首先要读取EXCEL文件内容读成数据集对象,再用两重循环逐行比较是否是重复行,删除重复行后再输出为新的EXCEL文件,编写代码的工作量可不少。而且因为EXCEL文件的格式不相同,要比较的字段不同,编写的程序并不能通用,下次还需重新编写程序。

    如果使用集算器SPL来去除重复行,那就很简单了,只需要3行代码。

    例如下面这个EXCEL文件:

    ..

    如果按Col1、Col2、Col3来去除重复行,编写SPL脚本如下:

      A
    1 =file("test.xlsx").xlsimport@t()
    2 =A1.group@1(Col1,Col2,Col3)
    3 =file("test1.xlsx").xlsexport@t(A2)

     

    SPL还可以很方便地处理以下EXCEL需求:

    1、  读取自由格式、交叉表、主子表等格式的EXCEL文件

    2、  将数据导出、追加到EXCEL文件,输出预设精美格式的EXCEL文件

    3、  读写超大数据量的EXCEL文件

    4、  合并及拆分EXCEL文件

    请参阅 SPL 解析及导出 Excel

    SPL 读入 EXCEL 文件后,就可以很容易地做排序、分组、汇总等操作,请参阅 SPL 分组

    集算器是进行文件数据源处理的专业工具,可以方便地进行 TXT、Excel、Xml、Json、CSV、ini 等各种文件数据的混合计算、入库以及导出等工作。桌面级计算工具,即装即用,配置简单,调试功能完善,可设置断点、单步执行,每步执行结果都可查看。语法简单,符合人的自然思维,比其他高级开发语言更简单。请参阅文件处理的应用场景

    SPL也能很方便地嵌入到JAVA应用,可参考Java 如何调用 SPL 脚本

    具体使用方法可参考 如何使用集算器

    展开全文
  • excel的使用

    2012-11-25 17:06:01
    如果用得到,你还可以利用EXCEL来完成行列式、矩阵各种计算,进行简单积分运算,利用迭代求函数值(如x^2=x^7+4,可用迭代方法求x),等等,凡是涉及计算方面事,找EXCEL来帮忙,它一定会给你一个满意答案...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    如何实现快速定位(筛选出不重复值) 如何请在N列中列出A1:L9中每列都存在数值 自动为性别编号问题 【文本与页面设置】 EXCEL中如何删除*号 将字符串中星号“*”替换为其它字符 去空格函数如何去掉字符和单元...
  • 如何实现快速定位(筛选出不重复值) 如何请在N列中列出A1:L9中每列都存在数值 自动为性别编号问题 【文本与页面设置】 EXCEL中如何删除*号 将字符串中星号“*”替换为其它字符 去空格函数如何去掉字符和单元...
  • 第2节:excel单元格任意区域禁止输入重复值设置技巧 l  第3节: 一键快速删除工作表重复数据 l  第4节:追踪所引用单元格,查找数据来源 l  第5节: 自动查找工作表中错误数据 l  第6节:...
  • 删除重复行和空行 我们直接用dict.fromkeys方法把当前数据转为字典,默认的值为None因为用不到,也就无所谓了。然后我们再用list直接对结果进行类型转换,转换为list。 In [135]: for row in rows4: print(ro.....

    很多开发者说自从有了 Python/Pandas,Excel 都不怎么用了,用它来处理与可视化表格非常快速。

    下面我来举几个例子。

    删除重复行和空行

    我们直接用dict.fromkeys的方法把当前的数据转为字典,默认的值为None因为用不到,也就无所谓了。然后我们再用list直接对结果进行类型转换,转换为list。

    In [135]:
    for row in rows4:
        print(row)
    ('name', 'address')
    ('tom li', 'beijing')
    ('tom li', 'beijing')
    ('',)
    ('mary wang', 'shandong')
    ('mary wang', 'shandong')
    ('',)
    ('de8ug', 'guangzhou')
    In [148]:
    dict.fromkeys(rows4)
    Out[148]:
    {('name', 'address'): None,
     ('tom li', 'beijing'): None,
     ('',): None,
     ('mary wang', 'shandong'): None,
     ('de8ug', 'guangzhou'): None}
    In [137]:
    list(dict.fromkeys(rows4))
    Out[137]:
    [('name', 'address'),
     ('tom li', 'beijing'),
     ('',),
     ('mary wang', 'shandong'),
     ('de8ug', 'guangzhou')]

    这时候,重复数据直接去掉了,注意我们这里的dict是python3新版本的,所以顺序没有影响,如果你还在用python2或者python3.5以下,建议升级一下python版本。

    接下来,就是空数据的处理了。观察('',)是个元组,第一个位置的数据为空字符串,那么整体长度为1,可以直接通过循环来去掉。

    这里的循环我们可以用Python中的语法糖写法,直接一行搞定,最后加个判断只留下长度大于1,最后用list转换为列表。

    In [179]:
    list(x for x in dict.fromkeys(rows4) if len(x[0])>1)
    Out[179]:
    [('name', 'address'),
     ('tom li', 'beijing'),
     ('mary wang', 'shandong'),
     ('de8ug', 'guangzhou')]

    上面的研究搞定了,直接把研究结果放到函数中解决重复行和空行的问题。

    注意这时候我们处理的行数据,所以就不再按列循环了。而且,当前的sheet中处理之后,每一行的内容都会修改位置或删除。所以我们先用old_rows = [x for x in sheet.values]取到旧的每一行的数据,注意这里的sheet后直接用values取到数据,而不是cell对象。这里的old_rows是个列表,就可以用刚才的研究直接转为删除重复和空行的数据了。

    接下来,用sheet.delete_rows(1, sheet.max_row) 删除所有行,第一个参数表示从第一行开始,第二个参数为最大行数。最后,用循环新的行数据的方式,把新数据写入当前的sheet。

    In [189]:
    def handle_duplicate(wb, sheetname):
        """
        去除重复行,空行
        先取出每一行,清空sheet,处理后写回
        """
        print(f'开始处理工作表:{sheetname}'.center(18, '-'))
        sheet = wb[sheetname]
        old_rows = [x for x in sheet.values]
        print('修改前:', old_rows)
        new_rows = list(x for x in dict.fromkeys(old_rows) if len(x[0])>1)
        print('修改后-》》', new_rows)
    
        # 删除所有行
        sheet.delete_rows(1, sheet.max_row)
        # 写入新数据
        for row in new_rows:
            sheet.append(row)

    运行测试,查看结果。再说一次,一定记得测试啊!如果有错误就根据错误提示,查看代码,反复调试,去除bugs。

    In [190]:
    wb = load_data()
    handle_duplicate(wb, '重复行')
    save_as(wb)

    删除空格

    删除空格也需要用到字符串的函数,所以这里还是简单研究一下。如果我们想去除字符串中间的空格,可以用split默认进行分割,然后把分割的结果用’’.join方法连接起来就可以了。

    注意join前是空的字符串。这里也用不到strip去除两端的空格了,因为split分割后只有几个最后的字符串组成的列表。

    In [192]:
    a="a b c   "
    In [194]:
    a.strip()
    Out[194]:
    'a b c'
    In [195]:
    a.split()
    Out[195]:
    ['a', 'b', 'c']
    In [196]:
    ''.join(a.split())
    Out[196]:
    'abc'
    In [ ]:

    研究成功后,写入函数。这次命名为handle_blank。

    In [197]:
    def handle_blank(wb, sheetname):
        """
        按列循环, 通过参数确认目标
        """
        print(f'开始处理工作表:{sheetname}'.center(18, '-'))
        sheet = wb[sheetname]
        for col in sheet.iter_cols():  # 不加参数,循环所有列
            for cell in col:
                print('修改前:', cell.value, end='')
                cell.value = ''.join(cell.value.split())
                print('修改后-》》',cell.value)
    In [198]:
    handle_blank(wb, '空格')

    修改日期和时间格式

    有时候,我们需要对表格中时间相关的单元格进行格式修改,这里需要用到Python中时间模块datetime,将需要的格式进行拼接后,用strftime进行转换。

    假设这里我们想把之前简单的1/11月日格式,更改为年月日的样式,中间加上分隔符/或-,就需要用"%x"或"%Y-%m-%d"来进行操作了。注意这里的%加字母都是官方定义好的格式而已,我们用到时候进行拼接,传给函数就可以了。

    具体更多的拼接格式如下:

    In [199]:
    import datetime
    In [209]:
    d=datetime.datetime(2019,1,11)
    In [203]:
    d.strftime("%x")
    Out[203]:
    '01/11/19'
    In [205]:
    d.strftime("%Y-%m-%d")
    Out[205]:
    '2019-01-11'

    研究完成后,我们编写函数。

    首先需要用m, d = cell.value.split('/')把之前简单的日期进行分割,得到m,代表月份和日期,然后用datetime进行转换,生成时间相关的对象day,注意里面的参数是数字,所以用int转换,最后把day进行格式化输出。编写函数后,一定记得测试。

    In [218]:
    def handle_time(wb, sheetname):
        """
        按列循环, 通过参数确认目标
        """
        print(f'开始处理工作表:{sheetname}'.center(18, '-'))
        sheet = wb[sheetname]
        for col in sheet.iter_cols(max_col=1, min_row=2):  # 找到时间的列, 第一列,从第二行开始
            for cell in col:
                print('修改前:', cell.value, end='')
                m, d = cell.value.split('/')
                day = datetime.datetime(2019, int(m), int(d))
                cell.value = day.strftime("%Y-%m-%d")
                print('修改后-》》',cell.value)
    
    In [220]:
    wb = load_data()
    handle_time(wb, '时间')
    save_as(wb)

    修复数字和符号

    接下来,处理数字和符号相关的操作。加入我们之前的价格,很多是有小数点的,这时候还想保存两位小数,并加上人民币符号为前缀。就需要新的一波研究了。

    有小数点,一是要保证位数,我们这里要求2位,二是要对多余的位数四舍五入。可以有以下俩个方式完成,一个用Decimal一个用round,两个的区别是Decimal("0.00")指定位数后,会自动补0,而round遇到0就自动舍掉了。而且round在四舍五入的计算中,还有点特殊。具体可查看官方文档。

    我们这里用Decimal来完成函数内相关操作。记得测试啊!

    In [227]:
    from decimal import Decimal
    In [240]:
    a = 3.1
    b=Decimal(a).quantize(Decimal("0.00"))
    print(b)
    3.10
    In [244]:
    round(a,2)  # 位数自动省略0
    Out[244]:
    3.1
    
    In [247]:
    def handle_num(wb, sheetname):
        """
        按列循环, 通过参数确认目标
        """
        print(f'开始处理工作表:{sheetname}'.center(18, '-'))
        sheet = wb[sheetname]
        for col in sheet.iter_cols(min_col=3, max_col=3, min_row=2):  # 找到时间的列, 第一列,从第二行开始
            for cell in col:
                print('修改前:', cell.value, end='')
    #             cell.value = round(float(cell.value), 3)
                cell.value = '¥' + str(Decimal(cell.value).quantize(Decimal("0.00")))
                print('修改后-》》',cell.value)
    In [249]:
    wb = load_data()
    handle_num(wb, '数字符号')
    save_as(wb)

    原文链接: 51CTO博客 https://blog.51cto.com/51ctoblog/2438164

    文源网络,仅供学习之用,侵删。

    在学习Python的道路上肯定会遇见困难,别慌,我这里有一套学习资料,包含40+本电子书,800+个教学视频,涉及Python基础、爬虫、框架、数据分析、机器学习等,不怕你学不会! https://shimo.im/docs/JWCghr8prjCVCxxK/ 《Python学习资料》

    关注公众号【Python圈子】,优质文章每日送达。

    file

    展开全文
  • 删除重复行和空行  我们直接用dict.fromkeys方法把当前数据转为字典,默认的值为None因为用不到,也就无所谓了。然后我们再用list直接对结果进行类型转换,转换为list。  In [135]:  for r...

      很多开发者说自从有了 Python/Pandas,Excel 都不怎么用了,用它来处理与可视化表格非常快速。

      下面我来举几个例子。

      1. 删除重复行和空行

      我们直接用dict.fromkeys的方法把当前的数据转为字典,默认的值为None因为用不到,也就无所谓了。然后我们再用list直接对结果进行类型转换,转换为list。

      In [135]:

      for row in rows4:

      print(row)

      ('name', 'address')

      ('tom li', 'beijing')

      ('tom li', 'beijing')

      ('',)

      ('mary wang', 'shandong')

      ('mary wang', 'shandong')

      ('',)

      ('de8ug', 'guangzhou')

      In [148]:

      dict.fromkeys(rows4)

      Out[148]:

      {('name', 'address'): None,

      ('tom li', 'beijing'): None,

      ('',): None,

      ('mary wang', 'shandong'): None,

      ('de8ug', 'guangzhou'): None}

      In [137]:

      list(dict.fromkeys(rows4))

      Out[137]:

      [('name', 'address'),

      ('tom li', 'beijing'),

      ('',),

      ('mary wang', 'shandong'),

      ('de8ug', 'guangzhou')]

      这时候,重复数据直接去掉了,注意我们这里的dict是python3新版本的,所以顺序没有影响,如果你还在用python2或者python3.5以下,建议升级一下python版本。

      接下来,就是空数据的处理了。观察('',)是个元组,第一个位置的数据为空字符串,那么整体长度为1,可以直接通过循环来去掉。这里的循环我们可以用Python中的语法糖写法,直接一行搞定,最后加个判断只留下长度大于1,最后用list转换为列表。

      In [179]:

      list(x for x in dict.fromkeys(rows4) if len(x[0])>1)

      Out[179]:

      [('name', 'address'),

      ('tom li', 'beijing'),

      ('mary wang', 'shandong'),

      ('de8ug', 'guangzhou')]

      上面的研究搞定了,直接把研究结果放到函数中解决重复行和空行的问题。

      注意这时候我们处理的行数据,所以就不再按列循环了。而且,当前的sheet中处理之后,每一行的内容都会修改位置或删除。所以我们先用old_rows = [x for x in sheet.values]取到旧的每一行的数据,注意这里的sheet后直接用values取到数据,而不是cell对象。这里的old_rows是个列表,就可以用刚才的研究直接转为删除重复和空行的数据了。

      接下来,用sheet.delete_rows(1, sheet.max_row)

      删除所有行,第一个参数表示从第一行开始,第二个参数为最大行数。最后,用循环新的行数据的方式,把新数据写入当前的sheet。

      In [189]:

      def handle_duplicate(wb, sheetname):

      """

      去除重复行,空行

      先取出每一行,清空sheet,处理后写回

      """

      print(f'开始处理工作表:{sheetname}'.center(18, '-'))

      sheet = wb[sheetname]

      old_rows = [x for x in sheet.values]

      print('修改前:', old_rows)

      new_rows = list(x for x in dict.fromkeys(old_rows) if len(x[0])>1)

      print('修改后-》》', new_rows)

      # 删除所有行

      sheet.delete_rows(1, sheet.max_row)

      # 写入新数据

      for row in new_rows:

      sheet.append(row)

      运行测试,查看结果。再说一次,一定记得测试啊!如果有错误就根据错误提示,查看代码,反复调试,去除bugs。

      In [190]:

      wb = load_data()

      handle_duplicate(wb, '重复行')

      save_as(wb)

      2.删除空格

      删除空格也需要用到字符串的函数,所以这里还是简单研究一下。如果我们想去除字符串中间的空格,可以用split默认进行分割,然后把分割的结果用’’.join方法连接起来就可以了。注意join前是空的字符串。这里也用不到strip去除两端的空格了,因为split分割后只有几个最后的字符串组成的列表。

      In [192]:

      a="a b c "

      In [194]:

      a.strip()

      Out[194]:

      'a b c'

      In [195]:

      a.split()

      Out[195]:

      ['a', 'b', 'c']

      In [196]:

      ''.join(a.split())

      Out[196]:

      'abc'

      In [ ]:

      研究成功后,写入函数。这次命名为handle_blank。

      In [197]:

      def handle_blank(wb, sheetname):

      """

      按列循环, 通过参数确认目标

      """

      print(f'开始处理工作表:{sheetname}'.center(18, '-'))

      sheet = wb[sheetname]

      for col in sheet.iter_cols(): # 不加参数,循环所有列

      for cell in col:

      print('修改前:', cell.value, end='')

      cell.value = ''.join(cell.value.split())

      print('修改后-》》',cell.value)

      In [198]:

      handle_blank(wb, '空格')

      3.修改日期和时间格式

      有时候,我们需要对表格中时间相关的单元格进行格式修改,这里需要用到Python中时间模块datetime,将需要的格式进行拼接后,用strftime进行转换。

      假设这里我们想把之前简单的1/11月日格式,更改为年月日的样式,中间加上分隔符/或-,就需要用"%x"或"%Y-%m-%d"来进行操作了。注意这里的%加字母都是官方定义好的格式而已,我们用到时候进行拼接,传给函数就可以了。

      具体更多的拼接格式如下:

      In [199]:

      import datetime

      In [209]:

      d=datetime.datetime(2019,1,11)

      In [203]:

      d.strftime("%x")

      Out[203]:

      '01/11/19'

      In [205]:

      d.strftime("%Y-%m-%d")

      Out[205]:

      '2019-01-11'

      研究完成后,我们编写函数。

      首先需要用m, d = cell.value.split('/')把之前简单的日期进行分割,得到m,代表月份和日期,然后用datetime进行转换,生成时间相关的对象day,注意里面的参数是数字,所以用int转换,最后把day进行格式化输出。编写函数后,一定记得测试。

      In [218]:

      def handle_time(wb, sheetname):

      """

      按列循环, 通过参数确认目标

      """

      print(f'开始处理工作表:{sheetname}'.center(18, '-'))

      sheet = wb[sheetname]

      for col in sheet.iter_cols(max_col=1, min_row=2): # 找到时间的列, 第一列,从第二行开始

      for cell in col:

      print('修改前:', cell.value, end='')

      m, d = cell.value.split('/')

      day = datetime.datetime(2019, int(m), int(d))

      cell.value = day.strftime("%Y-%m-%d")

      print('修改后-》》',cell.value)

      In [220]:

      wb = load_data()

      handle_time(wb, '时间')

      save_as(wb)

      4.修复数字和符号

      接下来,处理数字和符号相关的操作。加入我们之前的价格,很多是有小数点的,这时候还想保存两位小数,并加上人民币符号为前缀。就需要新的一波研究了。

      有小数点,一是要保证位数,我们这里要求2位,二是要对多余的位数四舍五入。可以有以下俩个方式完成,一个用Decimal一个用round,两个的区别是Decimal("0.00")指定位数后,会自动补0,而round遇到0就自动舍掉了。而且round在四舍五入的计算中,还有点特殊。具体可查看官方文档。

      我们这里用Decimal来完成函数内相关操作。记得测试啊!

      In [227]:

      from decimal import Decimal

      In [240]:

      a = 3.1

      b=Decimal(a).quantize(Decimal("0.00"))

      print(b)

      3.10

      In [244]:

      round(a,2) # 位数自动省略0

      Out[244]:

      3.1

      In [247]:

      def handle_num(wb, sheetname):

      """

      按列循环, 通过参数确认目标

      """郑州男科医院:http://www.63556355.com/郑州看男科哪家好:http://www.63556355.com/郑州割包皮多少钱:http://www.63556355.com/

      print(f'开始处理工作表:{sheetname}'.center(18, '-'))

      sheet = wb[sheetname]

      for col in sheet.iter_cols(min_col=3, max_col=3, min_row=2): # 找到时间的列, 第一列,从第二行开始

      for cell in col:

      print('修改前:', cell.value, end='')

      # cell.value = round(float(cell.value), 3)

      cell.value = '¥' + str(Decimal(cell.value).quantize(Decimal("0.00")))

      print('修改后-》》',cell.value)

      In [249]:

      wb = load_data()

      handle_num(wb, '数字符号')

      save_as(wb)

    转载于:https://www.cnblogs.com/sushine1/p/11557075.html

    展开全文
  • 1. 删除重复行和空行 我们直接用dict.fromkeys方法把当前数据转为字典,默认的值为None因为用不到,也就无所谓了。然后我们再用list直接对结果进行类型转换,转换为list。 在学习过程中有什么不懂得可以加我 ...
  • 1. 删除重复行和空行 我们直接用dict.fromkeys方法把当前数据转为字典,默认的值为None因为用不到,也就无所谓了。然后我们再用list直接对结果进行类型转换,转换为list。 In [135]: for row in rows4: print...
  • 点击页面中最右边列向右箭头或“下载Excel”链接,可以选择要显示/下载列 </font></font>]]> <![CDATA[<font color='#3366FF'><i>其中工号查询条件采用任意位置匹配,中文名查询条件采用起始位置...
  • 1. 删除重复行和空行 我们直接用dict.fromkeys方法把当前数据转为字典,默认的值为None因为用不到,也就无所谓了。然后我们再用list直接对结果进行类型转换,转换为list。 In [135]: for row in rows4: print.....
  • 40. 把复选框中选中的值直接显示在输入文本框中? 41. 选择路径下文件直接显示文件内容? 42. 制作进度条? 43. 对较长字符省略显示? 44. 制作日历? 45. 点击文本弹出一个选择框,选中后返回并显示 46. 关闭框架...
  • 3.新增了删除信息菜单,删除信息菜单包括删除学生,删除班级,删除级别,每一级的删除并不简单,删除相应级别,对应级别里所有班级和学生都会被删除,所以我还是验证了很多遍,功能基本实现,能够完全删除,...
  • MAPGIS地质制图工具

    2013-05-06 16:15:30
    若事先未打开Excel,那么将会把选择表(Sheet)中所有数据(直到最后为空值;有空数据但下面仍有数据,继续插入数据;有引用公式当做有数据)转到MapGis里面; 2、如果需要把Excel线也输入到MapGis中,...
  • arcgis工具

    2012-10-22 22:37:31
    方位 Ctrl+F:偏转 Ctrl+L:长度 Ctrl+D:X,Y增量 Ctrl+G:方位/长度 Ctrl+P:平行 Ctrl+E:垂直 Ctrl+T:切线 Ctrl+Delete:删除草图 F2:完成草图 F6:绝对X,Y坐标 F7:线段偏转 T:显示容限 已经输入命令可以...
  • ExtAspNet_v2.3.2_dll

    2010-09-29 14:37:08
    -修正extjs最新版本(v3.2.2)中一个bug,如果下拉列表中存在两个相同Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。 -应用补丁#6593, #6621(feedback:vbelyaev)。 +修正IE7下Grid分页...
  • -修正了使用IFrameUrlTab在切换过程中会重复加载问题,这是一个在v2.1.6引入问题(feedback:eroach)。 -修正了启用AutoPostBackGrid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField...
  • jsp编程技巧集锦

    2008-03-19 17:23:17
    数字转中文 128 自动计算金额 129 JSP页面打印中使用WebBrowser控件 130 不刷新页面添加新类别 131 鼠标滚动缩放图片 132 根据输入表名生成输入数据表格 133 JSP表格输出到Excel 134.JSP...
  • 在太多不同新闻群组上重复转贴同样问题(cross-post)。 向既非熟人也没有义务解决你问题人发送私人电邮。 黑客会剔除掉那些搞错场合问题,以保护他们沟通渠道不被无关东西淹没。你不会想让这种事发生...
  •  bootcfg /rebuild 重复全部 Windows 安装过程并允许用户选择要添加内容。  注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。  bootcfg /scan 扫描用于 Windows 安装...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    演示了不同数据库各种操作(连接、删除、添加……等等) ATL开发指南源码 内部包含了atl控件开发以及如何应用,演示了COM包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    演示了不同数据库各种操作(连接、删除、添加……等等) ATL开发指南源码 内部包含了atl控件开发以及如何应用,演示了COM包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    演示了不同数据库各种操作(连接、删除、添加……等等) ATL开发指南源码 内部包含了atl控件开发以及如何应用,演示了COM包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    演示了不同数据库各种操作(连接、删除、添加……等等) ATL开发指南源码 内部包含了atl控件开发以及如何应用,演示了COM包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现...

空空如也

空空如也

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

excel怎么删除重复值的行