首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用python操作excel

安装xlrd模块 #pip install xlrd 使用介绍 常用单元格中的数据类型   empty(的)   string(text)   number   date   boolean   error...可以通过索引顺序获取, table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取,若sheetx超出索引范围,则报错IndexError;若sheetx在索引范围内...,则返回值为列表; #列表中每个单元格信息的格式为:(row_start, row_end, col_start, col_end) #row_start表示合并单元格的起始行; #row_end表示合并单元格的结束行...; #col_start表示合并单元格的起始; #col_end表示合并单元格的结束; #合并单元格的行取值范围为[row_start, row_end),包括row_start,不包括row_end...; #合并单元格的取值范围为[col_start, col_end),包括col_start,不包括col_end; #如:(1, 3, 4, 6):表示从第1到2行合并,从第4到第5合并; 读取合并单元格的数据

1.2K30

ClickHouse在大数据领域应用实践

典型的Mysql数据库读写分离为例,横向对比ClickHouse,对比Mysql为何查询慢以及ClickHouse为何查询要快,在此基础上综合考虑OLTP如何与OLAP协同工作。...极端情况 数据库存储id和name数据,两者都是非的必选数据,这种情况下按行()存储从IO层面来讲是相似的,数据在磁盘上扫描范围和读写IO差不多。...数据在导入之前需要做值处理,将值替换成与业务无关的数据。 (二)表引擎 clickhouse表引擎非常丰富,其中最常用的是合并树家族引擎。...1、格式化日期 格式化分区函数常用于表的分区设置,天为单位的分区是常见的分区设置。 select toYYYYMMDD(now()) 2、哈希函数 name字段的哈希字符串作为分区策略。...直接用原始字符串字段值作为分区策略也是可行的,考虑到字符串的值域范围比较广,用哈希函数处理会比较安全。 3、日期函数 获取各种日期函数,如果不指定时区,默认读取宿主机的时区信息。

2.2K80
您找到你想要的搜索结果了吗?
是的
没有找到

手把手教你Excel数据处理!

如图,共有9条记录,使用COUNTIF()函数,A列作为计数范围,计当前记录的数量,记为“重复标记1”,通过此标记可以得到哪些是重复记录及其重复次数。...这下名称列有很多值待填充,可以选定A2:A13,快捷键“F5”开启“定位”,“定位条件:选定“值”,即可定位所有空值,然后键盘先后输入“=”、“↑”,“Ctrl+Enter”,即可获得批量填充后的结果...此时可以使用VLOOKUP()函数进行按查找,VLOOKUP()函数参数一指要查找的值,参数二指查找范围,参数三指返回查找范围的第几列,参数四指匹配方式,还想了解更多的可以自行百度。...三、数据拆分 有数据合并就不免存在数据拆分,数据拆分也叫数据抽取。比如某字段存储着用户的身份证信息,可以通过拆分得到用户的省份、出生日期、性别等信息。...行列转换 行列转换简单些,可以直接选择需要转换的数据范围,复制,选择性粘贴,转置,即可完成行列转换。 2. 数据类型转换 数据类型的转换基本涉及数值转文本,文本转数值,数值型的日期日期

3.4K20

游戏行业实战案例4:在线时长分析

也就是说,若玩家登录后没有对应的登出日志,则进行左联结后“登出时间”这一会存在值,而值可以使用当天23:59:59进行填充。 如何实现这一操作呢?...那么,如何得到当天23:59:59呢? 当天即为“日期中的值,因此我们可以将“日期中的值与23:59:59进行合并得到当天23:59:59。...合并字符串使用concat()函数,合并日期与23:59:59之间存在一个空格,使时间格式一致,即: concat(日期,' 23:59:59') 这样,在左联结时,同时填充“登出时间”字段值的SQL...也就是说,若玩家登录后没有对应的登出日志,则进行左联结后“登出时间”这一会存在值,而值可以使用当天23:59:59进行填充。 如何实现这一操作呢?...那么,如何得到当天23:59:59呢? 当天即为“日期中的值,因此我们可以将“日期中的值与23:59:59进行合并得到当天23:59:59。

3.8K30

初学者使用Pandas的特征工程

使用pandas Dataframe,可以轻松添加/删除,切片,建立索引以及处理值。 现在,我们已经了解了pandas的基本功能,我们将专注于专门用于特征工程的pandas。 !...因此,我们需要将该转换为数字,以便所有有效信息都可以输入到算法中。 改善机器学习模型的性能。每个预测模型的最终目标都是获得最佳性能。改善性能的一些方法是使用正确的算法并正确调整参数。...Groupby是一个函数,可以将数据拆分为各种形式,获取表面上不可用的信息。 GroupBy允许我们根据不同的功能对数据进行分组,从而获得有关你数据的更准确的信息。...这就是我们如何创建多个的方式。在执行这种类型的特征工程时要小心,因为在使用目标变量创建新特征时,模型可能会出现偏差。...在这里,我们使用 NYC Taxi Trip Duration 数据来演示如何通过日期时间变量提取特征。

4.7K31

掌握excel数据处理,提高你的数据分析效率

搜索目标搜索方式注意事项X开头X*勾选“单元格匹配”X结尾*X勾选“单元格匹配”包含XX撤销“单元格匹配” 比如现在我们我们想要想查找“李”开头的数据,应该怎么查找呢?...我们应该如何进行去重呢?...注:如果只是把某相同的记录定义为重复项那么只需要勾选那一字段即可。 3 快速删除数据 在Excel表格中,如果有很多无用的空行,我们的需求是想把它们全部删除。...1.点击Excel“开始”选项卡中的“查找和选择”按钮,选择下拉菜单中的“定位条件”选项; 2.打开定位条件对话框后,点击“值”选项; 3.选中“值”选项后,再点击“确定”按钮; 4....姓名日期求和项:数量累计求和邓三2月1041044月501545月111656月702357月60295李四1月64642月1301944月442385月673057月38343 如何取消合并呢?

1.8K40

数据仓库专题(7)-维度建模11大基本原则

,而且合并事实表是对单一流程事实表的一 个很好的补充,并不能代替它们。...无论粒度类型如何,事实表中的度量单位都必须达到相同水平的详细程度,如果事实表中的事实表现的粒度不一样,企业用户会被搞晕,BI应用程序会很脆弱,或者返回的结果根本就不对。...如果它是一个行/标记或下拉菜单过滤器,那么它应该当作一个维度 属性处理。   ...尽管我们在原则5中已经陈述过,事实表外键不应该为,同时在维度表的属性字段中使用“NA”或另一个默认值替换值来避免值也是明智的,这样可以减少用户的困惑。...原则8、确定维度表使用了代理键    按顺序分配代理键(除了日期维度)可以获得一系列的操作优势,包括更小的事实表、索引以及性能改善,如果你正在跟踪维度属性的变化,为每个变化使用一个 新的维度记录,那么确实需要代理键

1.7K30

数据仓库专题(7)-维度建模10大基本原则

,而且合并事实表是对单一流程事实表的一 个很好的补充,并不能代替它们。...无论粒度类型如何,事实表中的度量单位都必须达到相同水平的详细程度,如果事实表中的事实表现的粒度不一样,企业用户会被搞晕,BI应用程序会很脆弱,或者返回的结果根本就不对。...如果它是一个行/标记或下拉菜单过滤器,那么它应该当作一个维度 属性处理。   ...尽管我们在原则5中已经陈述过,事实表外键不应该为,同时在维度表的属性字段中使用“NA”或另一个默认值替换值来避免值也是明智的,这样可以减少用户的困惑。...原则8、确定维度表使用了代理键    按顺序分配代理键(除了日期维度)可以获得一系列的操作优势,包括更小的事实表、索引以及性能改善,如果你正在跟踪维度属性的变化,为每个变化使用一个 新的维度记录,那么确实需要代理键

1.3K50

基于 Apache Hudi 构建增量和无限回放事件流的 OLAP 平台

但是我们在数据湖中获得的数据通常以 D -1 的每日批处理粒度出现,即使我们每天不止一次地运行这些日常批处理数据处理系统获取当前 D 的最新数据,这些批处理系统的固有局限性也无助于我们解决近实时业务用例...部分记录更新 上面的管道显示了我们如何通过读取和合并两个增量上游数据源来创建每小时增量 OLAP。 然而这些增量数据处理有其自身的挑战。...相反使用外连接会将不匹配的事务合并到我们的每小时增量数据加载中。但是使用外连接会将缺失的值添加为 null,现在这些值将需要单独处理。...但是通过这种方式,当我们用传入记录中的值覆盖现有记录时,我们将丢失现有记录中可能已经存在的信息。...有效负载类定义了控制我们在更新记录时如何合并新旧记录的函数。我们的自定义有效负载类比较存储和传入记录的所有,并通过将一条记录中的与另一条记录中的非重叠来返回一条新记录。

99520

ClickHouse学习-建表和索引的优化点(一)

数据类型 1.1 null值尽量避免 1.2 日期都存储为日期类型 时间戳类型。用四个字节(无符号的)存储 Unix 时间戳)。允许存储与日期类型相同的范围内的值。...一般选择按天分区,也可以指定为Tuple(),单表一亿数据为例,分区大小控制在10-30个为最佳。 那些有相同分区表达式值的数据片段才会合并。这意味着 你不应该用太精细的分区方案(超过一千个分区)。...合并机制并不保证具有相同主键的行全都合并到同一个数据片段中。 数据片段可以 Wide 或 Compact 格式存储。...颗粒的行数的在 [1, index_granularity] 范围中,这取决于行的大小。...我们已经知道索引是如何存储的了,那我们就可以试着优化一下 从上面的结构我们可以看出他是一个稀疏索引,从图中我们可以清楚的看见他的创建规则,必须指定索引,ClickHouse中的索引即排序列,通过order

3.2K20

Power Query 真经 - 第 5 章 - 从平面文件导入数据

为了确定(和更改)用户当前的区域设置,需要到【Windows 用户界面】的进行配置,获得期望的设置。 按 Win 键进入控制面板,单击【控制面板】。...因此,导入程序必须做出一些分析,试图获得正确的结果。虽然大多数程序在处理前两点方面做得很好,但推断数据类型却经常出现问题。...它们不会被合并成一个步骤。 “Amount” 的设置使用了与日期不同的国家设置。可以这样做的原因是,在这种情况下,选择拿大货币和美国货币没有区别。...5.3.5 删除垃圾 删除多余的是非常简单的,只是想在这样做的时候遵循一个过程,确保它们确实是的。这个过程很简单如下所示。 筛选该。 确保筛选的列表中显示的所有值都是空白或的。...然后,数据被分割成 2 个独立的:“已合并.1” 和 “已合并.2”,把它们重新命名为更加合理名称。 双击 “已合并.1” 的名称,更改为 “Category”。

5K20

游戏行业实战案例 4 :在线时长分析

id ,日期进行分组,登录或登出时间升序排序,即 partition by 角色 id ,日期 order by 登录时间/登出时间 asc 对登录登出时间进行排序的 SQL 的书写方法: #对每个玩家每天的登录时间进行排序...也就是说,若玩家登录后没有对应的登出日志,则进行左联结后「登出时间」这一会存在值,而值可以使用当 23:59:59 进行填充。 如何实现这一操作呢?...可以使用 case when 子句进行条件判断,当「登出时间」这一的某个值为值时,则使用当天 23:59:59 作为值,否则就不改变值,即: case when 登出时间 is null then...那么,如何得到当天 23:59:59 呢? 当天即为「日期中的值,因此我们可以将「日期中的值与 23:59:59 进行合并得到当天 23:59:59 。...合并字符串使用 concat() 函数,合并日期与 23:59:59 之间存在一个空格,使时间格式一致,即: concat(日期,' 23:59:59') 这样,在左联结时,同时填充「登出时间」字段值的

15710

Power Query 真经 - 第 8 章 - 纵向追加数据

本章不会解决用户在转换中触发错误的问题(尽管以后的章节会解决),但会向用户展示 Power Query 如何合并两个或更多的数据集,而不必担心用户把最后几行的数据粘贴过来导致数据重复。...【警告】 当使用 “=Excel.CurrentWorkbook ()” 来列举表或范围时,输出的查询在刷新时也会被识别,为了处理这个问题,需要一些新的步骤,有不同的方式,这取决于用户如何构建查询。...将 “Name” 中剩余的文本(“'”)替换为。 展开 “Content” (取消勾选【使用原始列名作为前缀】复选框)。 注意,这里的情况有所不同。...“Column#” 的,导致很多无意义的会被纳入进来,还需要再删除。...至此,已经探索了用外部数据源的手动追加,以及如何为工作簿中的数据生成自动更新系统,有没有可能把这些合并起来,创建一个系统,可以推广到合并一个文件夹中的所有文件,而不必在 Power Query 中手动添加每个文件

6.5K30

重大事件后,股价将何去何从?(附代码)

导入一系列股票代码和一个导出价格的起始日期,函数将返回一个数据集,这个数据集包含一个特定的日期范围内个股每日的收盘价。以下是Apple的例子: ?...清洗合并数据 ▍将股价与到事件描述结合 因为我们对重大事件和股价波动之间的关系感兴趣,很明显的接下来的第一步就是要把股价和事件的数据框连结起来,来获得事件发生当日和事件发生前一日的收盘价。...2、第三个参数明确了合并表格之前哪一要对齐(股票)。 3、第四和第五个参数明确了哪些可以完成与最近一的连结(日期)。...下一部分的数据准备会展示如何计算这些移动平均值。 尽管以下展示的程序可以计算任何日期范围内的数据,我们将要计算的平均值是50和200天的移动平均值。 ? 我们首先以日期递增的顺序整理价格数据集。...我们从pandas导入BDay帮助我们过滤出交易日,并使用pivot_table来将每个股票日期成组,我们以前用groupby 函数来组成组,这是处理数据的另一个方法。

1.5K30

Hive 和 Spark 分区策略剖析

在Hive中,分区可以基于多个进行,这些的值组合形成目录名称。例如,如果我们将“t_orders_name”表按照日期和地区分区,那么目录的名称将包含日期和地区值的组合。...优化Spark分发数据方式来提升性能 即使我们知道了如何将文件写入磁盘,但是,我们仍须让Spark符合实际的方式来构建我们的分区。在Spark中,它提供了许多工具来确定数据在整个分区中的分布方式。...此外,正如我们看到的,通常需要执行Shuffle来获得我们想要的更复杂的数据集结果。...但是,即使我们满足上述这些条件,还有另外一个问题:散冲突。假设,现在正在处理一年的数据,日期作为分区的唯一键。...5.4.5 按范围重新分区 按范围重新分区是一个特,它不使用RoundRobin和Hash Partitioner,而是使用一种特殊的方法,叫做Range Partitioner。

1.2K40

PostgreSQL 教程

BETWEEN 选择值范围内的数据。 LIKE 基于模式匹配过滤数据。 IS NULL 检查值是否为。 第 3 节....修改数据 在本节中,您将学习如何使用INSERT语句向表中插入数据、使用UPDATE语句修改现有数据以及使用DELETE语句删除数据。此外,您还将学习如何使用 UPSERT 语句来合并数据。...外键 展示如何在创建新表时定义外键约束或为现有表添加外键约束。 检查约束 添加逻辑基于布尔表达式检查值。 唯一约束 确保一或一组中的值在整个表中是唯一的。...非约束 确保中的值不是NULL。 第 14 节. 深入了解 PostgreSQL 数据类型 主题 描述 布尔型 使用布尔数据类型存储TRUE和FALSE值。...如何生成某个范围内的随机数 说明如何生成特定范围内的随机数。 EXPLAIN 语句 指导您如何使用EXPLAIN语句返回查询的执行计划。

43810

Magicodes.IE 2.7.2发布

支持动态排序,需设置ExporterHeaderAttribute.ColumnIndex属性(注意不应修改Index属性),值范围为0~10000。...提供ExporterHeadersFilter筛选器,支持批量修改头。 重构、优化排序代码。...Magicodes.IE.Excel.AspNetCore工程,添加XlsxFileResult的Action Result,支持泛型集合、Bytes数组、Steam直接导出 修改部分命名和命名空间 2.5.4.9 2021.07.23 修复Excel合并行导入在存在合并单元格时可能的数据读取错误...2020.03.19 【Nuget】版本更新到2.2.0-beta2 【Excel导入】修复日期格式的导入Bug,支持DateTime和DateTimeOffset以及可为类型,默认支持本地化时间格式...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

1.9K20
领券