中文文档:https://www.kancloud.cn/gnefnuy/xlwings-docs/1127454

import xlwings
#查找包路径
print(xlwings.__path__)
#['D:\\python_mcw\\venv\\lib\\site-packages\\xlwings']
#查看版本
print(xlwings.__version__)
#0.25.1

1. 脚本: 从Python与Excel进行自动化交互

建立与工作簿的连接:

import xlwings as xw
# wb = xw.Book() # 这将创建一个新的工作簿
# wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件
wb = xw.Book(r'D:\学习笔记\第2章 用Python对 Excel读写数据\2.9 修改工作簿、工作表、单元格\招生表.xls')# 在Windows上:使用原始字符串来转义反斜杠

执行之后创建工作簿

执行之后打开wps,打开表格文件

执行之后打开表格

如果您在两个Excel实例中打开了相同的文件,则需要完全限定它并包含应用程序实例。 您将通过xw.apps.keys()找到您的应用实例密钥(PID):

>>> xw.apps[10559].books['FileName.xlsx']

实例化工作表对象

import xlwings as xw
# wb = xw.Book() # 这将创建一个新的工作簿
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件
sht = wb.sheets['mcwSheet1']

执行一次,就创建一个新的工作簿,数字循环到4了。sheets里面的是已有的工作表名字。创建好的工作簿好像默认只有一个工作表

在Range内读取/写入值非常简单:

写入和读取单个单元格的内容

打开了的,执行程序再次打开一个是只读的,并且将第一个单元格重新赋值了,现在应该是没有保存到磁盘的

import xlwings as xw
# wb = xw.Book() # 这将创建一个新的工作簿
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件
sht = wb.sheets['mcw'] #获取工作簿中的指定工作表
sht.range('A1').value = 'Foo 1' #设置单个单元格值
print(sht.range('A1').value) #读取单个单元格的值

写入多行多列数据(指定起始点):

从A1单元格为起始点,设置多个值。值是一个大列表,大列表里有小列表。小列表是单行所有列的数值,大列表是所有行的数值集合。小列表每个元素才是单个单元格的内容。

读取多行多列数据:

获取到的就是之前设置的值。两层列表,外层包含所有行的。内层列表是单行所有列的数据。内层列表每个元素才是每个单元格的值

pandas作为数据源

功能强大的转换器处理大多数感兴趣的数据类型,包括Numpy数组和Pandas DataFrames两个方向:

三个列表,第一个值为None

import xlwings as xw
# wb = xw.Book() # 这将创建一个新的工作簿
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件
sht = wb.sheets['mcw'] #获取工作簿中的指定工作表
import pandas as pd
df = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])
print(df) #columns生成的是列标题,前面列表是列标题下的每行数据。每行数据好像都不是从第一列开始的,第一列
#第一列可能是数值的行序号(又或者是列表索引),从0开始。行上并不包含第一行,列标题
sht.range('A1').value = df #将这种数据作为这个单元格为起始点的值,
mcw=sht.range('A1').options(pd.DataFrame, expand='table').value #获取pd的数值
mcw2=sht.range('A1').expand().value #获取表中的数值
print(mcw)
print(mcw2)

程序

Matplotlib数字可以在Excel中显示为图片:

import xlwings as xw
# wb = xw.Book() # 这将创建一个新的工作簿
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件
sht = wb.sheets['mcw'] #获取工作簿中的指定工作表
import matplotlib.pyplot as plt
fig = plt.figure()
mcw=plt.plot([1, 2, 3, 4, 5])#像是个列表
mcw2=sht.pictures.add(fig, name='MyPlot', update=True)
print(mcw,type(mcw)) #2是个图片,将plt图片加入到
print(mcw2) #表格中

程序

如果你设置update = True,你可以在Excel上调整大小并定位图:后续调用同名的pictures.add()('MyPlot')会更新图片而不改变它的位置或大小。

大小,位置和其他属性可以在pictures.add()中设置为参数,或者通过操作图片 返回的对象,参见xlwings.Picture()

例如:

import matplotlib.pyplot as plt
import xlwings as xw fig = plt.figure()
plt.plot([1, 2, 3]) sht = xw.Book().sheets[0]
sht.pictures.add(fig, name='MyPlot', update=True,
left=sht.range('B5').left, top=sht.range('B5').top)
#添加left和top参数

程序

除以2好像是变小了

import matplotlib.pyplot as plt
import xlwings as xw fig = plt.figure()
plt.plot([1, 2, 3]) sht = xw.Book().sheets[0]
# sht.pictures.add(fig, name='MyPlot', update=True,
# left=sht.range('B5').left, top=sht.range('B5').top) ##添加left和top参数
plot = sht.pictures.add(fig, name='MyPlot', update=True)
plot.height /= 2
plot.width /= 2

程序

得到一个Matplotlib数字

以下是一些如何获得matplotlib“figure”对象的示例:

  • 通过PyPlot界面:

    import matplotlib.pyplot as plt
    fig = plt.figure()
    plt.plot([1, 2, 3, 4, 5])

    或:

    import matplotlib.pyplot as plt
    plt.plot([1, 2, 3, 4, 5])
    fig = plt.gcf()
  • 通过面向对象的接口:

    from matplotlib.figure import Figure
    fig = Figure(figsize=(8, 6))
    ax = fig.add_subplot(111)
    ax.plot([1, 2, 3, 4, 5])
  • 通过Pandas:

    import pandas as pd
    import numpy as np df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
    ax = df.plot(kind='bar')
    fig = ax.get_figure()

import matplotlib.pyplot as plt
import xlwings as xw fig = plt.figure()
plt.plot([1, 2, 3, 4, 5]) sht = xw.Book().sheets[0]
# sht.pictures.add(fig, name='MyPlot', update=True,
# left=sht.range('B5').left, top=sht.range('B5').top) ##添加left和top参数
plot = sht.pictures.add(fig, name='MyPlot', update=True)
plot.height /= 2
plot.width /= 2

程序

生成一个工作簿

import xlwings as xw

app = xw.App(visible=True, add_book=False)
app.display_alerts = False # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = True # 更新显示工作表的内容。默认为 True。关闭它也可以提升运行速度。
wb = app.books.add()
sht = wb.sheets.active
print(sht)
print(wb,app)

程序

import xlwings as xw

app = xw.App(visible=True, add_book=False)
'''工作簿'''
# wb = app.books.add() # 新建工作簿。
# wb = app.books.open(r'mcw.xlsx') # 打开现有的工作簿
wb = app.books.active() # 获取当前活动的工作簿#这个有问题,执行失败
print(wb,type(wb)) #TypeError: 'Book' object is not callable
app = xw.App(visible=True, add_book=True)  #添加工作簿为真就添加,否就不添加
import xlwings as xw

app = xw.App(visible=True, add_book=False)  #添加工作簿为真就添加,否就不添加,但是配合下面这条就可以创建工作簿
wb = app.books.add() # 新建工作簿。
import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] #
# sht = wb.sheets.active # 获取当前活动的工作表,这个不清楚是干嘛的
# sht = wb.sheets[0] # 按索引获取工作表 <Sheet [mcw.xlsx]mcw>
# sht = wb.sheets['Sheet2'] # 按表名获取工作表 <Sheet [mcw.xlsx]Sheet2>
# sht1 = wb.sheets.add() # 新建工作表,默认新建的放在最前面。 <Sheet [mcw.xlsx]Sheet1>
sht1 = wb.sheets.add('新建工作表', after=sht) # 新建工作表,放在sht工作表后面。放在了mcw工作表后面<Sheet [mcw.xlsx]新建工作表>
print(sht1)

读取单元格

  1. b3 = sht.range('b3')

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] #
b3 = sht.range('b3')
print(sht,b3)

程序

获取指定单元格或指定单元格范围的内容

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] #
b3 = sht.range('b3') #获取单元格
# 获取 b3 中的值
v = b3.value
#也可以根据行列号读取
b3_value = sht.range(3,2).value
#读取一段区间内的值
a1_c4_value = sht.range('a1:c4').options(ndim=2).value # 加上 option 读取二维的数据
a1_c4_value2 = sht.range((1,1),(4,3)).options(ndim=2).value # 和上面读取的内容一样。
print(sht,b3)
print('m1',v)
print('m2',b3_value)
print('m3',a1_c4_value)
print('m4',a1_c4_value2)

程序

""" 写入 就是把值赋值给读取的单元格就可以了"""

"""设置单元格大小"""

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] #
"""设置单元格大小"""
sht.autofit() # 自动调整单元格大小。注:此方法是在单元格写入内容后,再使用,才有效。
sht.range(6,1).value='自动调整单元格大小。注:此方法是在单元格写入内容后,再使用,才有效。'
sht.range(1,4).column_width = 55 # 设置第4列 列宽。(1,4)为第1行第4列的单元格
sht.range(1,4).row_height = 55 # 设置第1行 行高

"""设置单元格 字体格式"""

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # b3 = sht.range('b3')
"""设置单元格 字体格式"""
b3.color = 255,200,255 # 设置单元格的填充颜色
b3.api.Font.ColorIndex = 3 # 设置字体的颜色,具体颜色索引见下方。
b3.api.Font.Size = 24 # 设置字体的大小。
b3.api.Font.Bold = True # 设置为粗体。
b3.api.HorizontalAlignment = -4108 # -4108 水平居中。 -4131 靠左,-4152 靠右。
b3.api.VerticalAlignment = -4130 # -4108 垂直居中(默认)。 -4160 靠上,-4107 靠下, -4130 自动换行对齐。
b3.api.NumberFormat = "0.00" # 设置单元格的数字格式。

程序

"""设置边框"""

"""设置边框"""
# Borders(9) 底部边框,LineStyle = 1 直线。
b3.api.Borders(9).LineStyle = 1
b3.api.Borders(9).Weight = 3 # 设置边框粗细。 # Borders(7) 左边框,LineStyle = 2 虚线。
b3.api.Borders(7).LineStyle = 2
b3.api.Borders(7).Weight = 3 # Borders(8) 顶部框,LineStyle = 5 双点划线。
b3.api.Borders(8).LineStyle = 5
b3.api.Borders(8).Weight = 3 # Borders(10) 右边框,LineStyle = 4 点划线。
b3.api.Borders(10).LineStyle = 4
b3.api.Borders(10).Weight = 3 # Borders(5) 单元格内从左上角 到 右下角。
b3.api.Borders(5).LineStyle = 1
b3.api.Borders(5).Weight = 3 # Borders(6) 单元格内从左下角 到 右上角。
b3.api.Borders(6).LineStyle = 汇总1
b3.api.Borders(6).Weight = 3 """如果是一个区域的单元格,内部边框设置如下"""
# # Borders(11) 内部垂直边线。
# b3.api.Borders(11).LineStyle = 1
# b3.api.Borders(11).Weight = 3
#
# # Borders(12) 内部水平边线。
# b3.api.Borders(12).LineStyle = 1
# b3.api.Borders(12).Weight = 3 ————————————————
版权声明:本文为CSDN博主「葆宁seismologist」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42305163/article/details/113326060

边框程序

"""如果是一个区域的单元格,内部边框设置如下"""

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # a1 = sht.range('a1')
b2 = sht.range('b2')
a3 = sht.range('a3:b4')
b5 = sht.range('b3:c5') """设置边框""" # Borders(5) 单元格内从左上角 到 右下角。
a1.api.Borders(5).LineStyle = 1
a1.api.Borders(5).Weight = 3 # Borders(6) 单元格内从左下角 到 右上角。
b2.api.Borders(6).LineStyle = 1
b2.api.Borders(6).Weight = 3 """如果是一个区域的单元格,内部边框设置如下"""
# Borders(11) 内部垂直边线。
a3.api.Borders(11).LineStyle = 1
a3.api.Borders(11).Weight = 3 # Borders(12) 内部水平边线。
b5.api.Borders(12).LineStyle = 1
b5.api.Borders(12).Weight = 3
#

程序

"""合并拆分单元格""" 失败的,没成功

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # """合并拆分单元格"""
# print(sht.range('a1:c1').value)
sht.range('C1:C5').api.merge() # 合并单元格a1:c1
# sht.range('a2:c3').api.merge() # 合并单元格 a2:c3
# sht.range('a4:c4').api.merge() # 合并单元格 a4:c4
# # sht.range('A4:C4').api.unmerge() # 拆分单元格。

插入,删除一行

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # '''插入 、删除 一行'''
sht.range('a3').api.EntireRow.Delete() # 会删除 ’a3‘ 单元格所在的行。
# sht.api.Rows(3).Insert() # 会在第3行插入一行,原来的第3行下移。

程序

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # '''插入 、删除 一行'''
# sht.range('a3').api.EntireRow.Delete() # 会删除 ’a3‘ 单元格所在的行。
sht.api.Rows(3).Insert() # 会在第3行插入一行,原来的第3行下移。

程序

插入,删除一列

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # '''插入 、删除 一列'''
sht.range('b2').api.EntireColumn.Delete() # 会删除 ’b2‘ 单元格所在的列。
# sht.api.Columns(3).Insert() # 会在第3列插入一列,原来的第3列右移。(也可以用列的字母表示)

程序

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # '''插入 、删除 一列'''
# sht.range('b2').api.EntireColumn.Delete() # 会删除 ’b2‘ 单元格所在的列。
sht.api.Columns(3).Insert() # 会在第3列插入一列,原来的第3列右移。(也可以用列的字母表示)

程序

'''选择sheet页面最右下角的单元格,获取最大行数,和列数'''

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # '''选择sheet页面最右下角的单元格,获取最大行数,和列数'''
# 区别 expand(), expand()只选中与之连续的单元格。
cell = sht.used_range.last_cell
rows = cell.row
columns = cell.column
print(rows,columns)

程序

默认统计额外的,不连续的单元格

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # '''选择sheet页面最右下角的单元格,获取最大行数,和列数'''
# 区别 expand(), expand()只选中与之连续的单元格。
cell = sht.used_range.last_cell
rows = cell.row
columns = cell.column
print(rows,columns)

程序

统计连续的行数

'''排序,删除重复值'''#這個不管用

排序前:

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # '''排序,删除重复值'''
# 排序使用方法:
# 1、选择需要排序的区域。这里用 'a2' 是因为排序的数据送从第二行开始的,第一行是标题,不应该参与排序。
# 2、选择按那一列进行排序 Key1=sht.range('c2').api, 这里选择的是按 第 C 列排序,所以这里选择 c1 和 c2 都可以。
# 3、Order1=1 为升序,2为降序。
# sht.range('a2',(rows,columns)).api.Sort(Key1=sht.range('c2').api, Order1=1)
# sht.range('a2',(5,4)).api.Sort(Key1=sht.range('c2').api, Order1=1) # 删除重复值使用方法:
sht.RemoveDuplicates(3) #为按第3列内容进行删除重复项。

程序

"""插入、读取公式"""

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # """插入、读取公式"""
sht.range('e7').formula = '=AVERAGE(E2:E6)' # 插入公式
print(sht.range('e7').formula)

程序

插入公式,就会计算

生成公式,然后复制到程序里面试试

结果是可以的。插入函数的公式,应该大部分都可以复制进来直接使用的

'''同个表格复制、粘贴'''

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # '''同个表格复制、粘贴'''
# 复制 a2 到 a6 之间单元格的值,粘贴到'a9'中
sht.range('a2','a6').api.Copy(sht.range('a9').api)

程序

import xlwings as xw
wb = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht = wb.sheets['mcw'] # '''同个表格复制、粘贴'''
# 复制 a2 到 a6 之间单元格的值,粘贴到'a9'中
sht.range('a2','a6').api.Copy(sht.range('a9').api)

程序

'''跨表格复制、粘贴'''

import xlwings as xw
wb1 = xw.Book('mcw.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht1 = wb1.sheets['mcw'] #
wb2 = xw.Book('mcw2.xlsx') # 连接到当前工作目录中的现有文件,每次运行都重新打开一个
sht2 = wb2.sheets['Sheet1'] # '''跨表格复制、粘贴'''
my_values = sht1.range('a2:d4').options(ndim=2).value # 读取二维的数据
print(my_values)
sht2.range('a1').value = my_values
#打开第一个工作簿,再打开第二个工作簿,随后第二个
#工作簿上复制了1的a2到_d4的数据,粘贴在了2的a1单元格为起始点的位置

程序

保存工作簿

wb.save()
#wb.close()
#app.quit

无法导入模块错误,直接把检查注释掉

module "matploblib" not have attribute "get_data_path"

参考链接:https://blog.csdn.net/weixin_42305163/article/details/113326060

  1. wb.save()
  2.  
    #wb.close()
  3.  
    #app.quit

xlwings模块详解的更多相关文章

  1. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  2. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  3. python之sys模块详解

    python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...

  4. python中threading模块详解(一)

    python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...

  5. python time 模块详解

    Python中time模块详解 发表于2011年5月5日 12:58 a.m.    位于分类我爱Python 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括: ...

  6. python time模块详解

    python time模块详解 转自:http://blog.csdn.net/kiki113/article/details/4033017 python 的内嵌time模板翻译及说明  一.简介 ...

  7. 小白的Python之路 day5 time,datatime模块详解

    一.模块的分类 可以分成三大类: 1.标准库 2.开源模块 3.自定义模块 二.标准库模块详解 1.time与datetime 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时 ...

  8. 小白的Python之路 day5 random模块和string模块详解

    random模块详解 一.概述 首先我们看到这个单词是随机的意思,他在python中的主要用于一些随机数,或者需要写一些随机数的代码,下面我们就来整理他的一些用法 二.常用方法 1. random.r ...

  9. Python中time模块详解

    Python中time模块详解 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. ...

  10. Ansible安装部署及常用模块详解

    Ansible命令使用 Ansible语法使用ansible <pattern_goes_here> -m <module_name> -a <arguments> ...

随机推荐

  1. C#_面试题2

    1 :维护数据库的完整性.一致性.你喜欢用触发器还是自写业务逻辑?为什么答:尽可能用约束(包括CHECK.主键.唯一键.外键.非空字段)实现,这种方式的效率最好:其次用触发器,这种方式可以保证无论何种 ...

  2. 脑洞golang embed 的使用场景

    golang 的 embed 的功能真是一个很神奇的功能,它能把静态资源,直接在编译的时候,打包到最终的二进制程序中. 为什么会设计这么一个功能呢?我想和 golang 的崇尚简单的原则有关系吧.它希 ...

  3. CRC报错查看

    前言 查看交换机接口是否有CRC报错,本案例以华三交换机为例. CRC是指循环冗余校验错 使用仪器测试链路.链路质量差或者线路光信号衰减过大会导致报文在传输过程中出错.如链路故障请更换网线或光纤. 与 ...

  4. 2024-04-13:用go语言,给定一个整数数组 `nums`, 请编写一个函数,返回一个新的数组 `counts`。 满足以下条件:对于每个 `nums[i]`, `counts[i]` 表示在

    2024-04-13:用go语言,给定一个整数数组 nums, 请编写一个函数,返回一个新的数组 counts. 满足以下条件:对于每个 nums[i], counts[i] 表示在 nums[i] ...

  5. .NET 9 预览版 3 发布

    我们很高兴地宣布发布 .NET 9 预览版 3,其中包含 .NET 库.运行时和 SDK 的新功能和改进.此预览版带来了旨在提高性能.提高开发人员工作效率以及向 .NET 生态系统引入新功能的增强功能 ...

  6. 一文读懂IoU,GIoU, DIoU, CIoU, Alpha-IoU (代码非常优雅)

    IoU就是就是我们说的交并比 Intersection over Union ,具体就是两个box的交集除以并集. 当我们计算我们的anchors 或者 proposals 与 ground trut ...

  7. SQLite总结

    废话不多说: 优点,高并发读快速度读取超越所有主流大中型数据库 缺点,缺少同步机制,读写不能同时,且同时只能有一个写入线程 用途,硬盘式缓存 另附一SQLite工具类: import java.io. ...

  8. DM 传统行业SQL优化案例

    来OB这么久还没有接触啥金融的SQL,只能发点其他行业的数据库SQL优化案例. 今天拿到手的这个案例SQL 传统行业的,很奇葩的SQL,表设计三范式都没弄好. 什么医疗,交通,能源这些传统行业的业务设 ...

  9. 力扣128(java&python)-最长连续序列(中等)

    题目: 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度. 请你设计并实现时间复杂度为 O(n) 的算法解决此问题. 示例 1: 输入:nums = ...

  10. 2022飞天技术峰会:硬之城如何基于 SAE 打造数智化电子工业互联网平台

    简介: 全球数字化时代已经到来,数字经济正推动生产方式.生活方式和治理方式的深刻变化,成为重组全球要素资源,重塑经济结构,改变全球竞争格局的关键力量. 本文根据硬之城 CEO 李六七先生在峰会上的分享 ...