Frossky 发布的文章

import pandas
import numpy

# 读excel
main():
    xls = pandas.ExcelFile(ordersFile)
    df= pandas.read_excel(xls, 'sheet1') # 读取dataframe

# 写excel
    with pandas.ExcelWriter('./订单清洗后数据.xlsx') as writer:
        df.to_excel(writer, sheet_name='sheet1',  index=None)  #默认会写入index, 建议不写入index

# 根据3列后数据去重
    df = df.drop_duplicates(sheet.columns[3:])

# 删除0列和指定名称列
    df = df.drop([df.columns[0], '文件名'], axis=1)

# 返回某一列(sheet名)的哪些行包含指定内容
    df.Sheet名.str.contains('作废')

# 计算True的数量
    numpy.sum(dfall['Sheet名'].str.contains('作废')!=0)

# 删除包含指定字符的行
   dfall[ ~dfall['Sheet名'].str.contains('作废') ]

# 插入列
   df.insert(index数值表示的位置, '列名', 数组)

# 直接数组方式插入
   df['新列名'] = [1,2,3,4]

# 直接数组方式修改
   df['旧列名'] = [1,2,3,4]

# 遍历并修改行内数值
for i in range(len(df)):
    index = df.index[i] #实际index和数组序号不同
    df.loc[index, '某列名'] = '新数值' + df.某某列名[index] # 必须使用loc修改,但可以直接使用"."读取

# 列名相同的简单合并
    df = df.append(otherdf)

# 相同内容填充数组
arr = numpy.full((3), 'a') # 填充一元数组
arr = numpy.full((3,2), 'a') # 填充二元数组

# 将第1列NaN替换掉的四种方式, 有时候会报错`A value is trying to be set on a copy of a slice from a DataFrame`, 有时候不会, 还不知道怎么解决.
df[1].fillna(0, inplace=True)
df[['a', 'b']] = df[['a','b']].fillna(value=0)
df.fillna({'a':0,'b':0})
df=df.fillna({'a':0,'b':0})

# 连接多个df后, index重复需要做index重置
df=df.reset_index(drop=True)

# 修改指定的columns名称
df.rename(columns={'$a': 'a', '$b': 'b', '$c': 'c', '$d': 'd', '$e': 'e'}, inplace=True) 

数据合并

数据合并比较多样,看这儿https://www.cnblogs.com/guxh/p/9451532.html

使用第2行作为header(从0起算,序号为1)

sheet = pandas.read_excel(fileName, sheetName, header=1)

我们在用EcountERP, 不过感觉应该所有ERP对于下面的问题应该都差不多.
ERP中的品目管理是所有其他管理的基础. 所有品目管理最主要的就是要保证品目唯一性. 然而产品需求的快速改变和迭代开发导致品目也在不断迭代更新. 此时旧的代码需要停用,然后增加新的代码. 然而ERP原生没有版本管理, 增加的新代码也看不出和老代码有什么关联, 随着品目更新,停用的代码越来越多, 翻查新代码也是个问题.
ERP应该结合软件代码版本管理的思想, 不说分布式Git了, 集中式SVN的思想多少得有点儿吧, 这样代码+版本号来管理品目. 具体来说:

  1. 每次品目更改执行commit操作, 说明更改内容并自动升级版本号
  2. 可以用x.y.z的版本方式人工命名,也可以生成像Git一样的自动版本号
  3. 从品目到往来单位, BOM版本都可以通过版本管理来做,甚至订单模板等等也可以这么做.
  4. 甚至可以进行自动化单元测试, 以查看定义的品目有没有问题, 原材料组合成的BOM有没有遗漏, 有没有使用旧的版本等等
    总结来说, 通过版本管理, 甚至自动化测试, ERP进一步减轻人工管理的负担, 专注于新物料的开发, 与产品开发能够同步.

另外,不知道有没有可能基于文件系统的分布式ERP

  1. 可以基于Git, 但又有更细致的针对不同目录的权限管理
  2. 可以使用Excel或者其他本地数据库进行存储
  3. 可以使用特定的后缀名或本地软件, 便捷的UI以方便普通员工操作

IFTTT

这个应该是最方便,然而在魅族手机上成功, 在华为手机上却失败了. 原因是IFTTT在华为手机上只会打开邮箱界面并填充邮件内容,并无法自动发送出去.

Tasker

Tasker比较灵活些, 可以接Java和Javascript的代码, 不过JS代码运行环境是内置的WebView, 并不是Node. 也能发送EMail. 然而在华为手机上遇到了同样的问题, 无法继续.

Termux

Termux搭配Termux:API可以读取系统短信,然而, 根据Termux最新的官方消息, 谷歌禁止这么做, 否则不让上架, 于是Termux取消了这个接口 ,以及一系列和发送SMS相关的接口https://wiki.termux.com/index.php?search=sms&go=Go

短信助手

在酷安上下载的这个APP(也叫短信转发)终于解决了问题. 它还可以转发为手机短信. SMTP信息在APP里面填写,这就不依赖外部应用了. 然而有个小问题是, 不能定义邮件标题为短信内容,或者转发短信内容和收件人.

#查看磁盘占用
df -h
# 查看当前目录磁盘占用
du -h --max-depth=1
# 查看不同文件磁盘占用(含隐藏文件)
ls -alh

# 清理nohup.out文件,保留前10000条
# 使用locate命令定位nohup.out
log=`tail -n 10000 nohup.out`; 
echo "$log" > nohup.out 

# 清理tomcat的catalina.out文件,保留前10000条
# catalina.out位于: /opt/apache-tomcat-8.5.3/logs
log=`tail -n 10000 catalina.out`; 
echo "$log" > catalina.out 

先急速看了得到版。

这里面讲了个智能商业的新概念,称之为3.0版本商业模式。不得不说,中国人还是特别善于经营新概念的。我们且看看前两个版本:1.0版就是传统商业:工厂生产、线下渠道、门店购买;2.0版就是互联网+,即所谓的电商,工厂生产、线上渠道、线上购买。那3.0又是个什么意思?

说是3个子概念。同时说说我的看法和认为其中的问题。

1.在线化。什么作用呢?从产品上,和用户高效实时互动反馈,这样对产品进一步提供改进意见和方法。从渠道上和广告上,做到精准触达用户。

我的质疑:首先,用户的反馈无疑是很有价值的,他们是用钞票评价产品的好坏。然而,做产品久了都知道,用户的话是不能完全当真的。也就是福特老爷子100年前提出来的:你问用户要什么交通工具,没见过汽车的用户只会说要一匹更快的马。在线化可以为产品方向提供灵感,但不能解决对产品的洞察,最终还是要靠产品设计者自己。网上有一百万个用户反馈,也抵不过一个Elon Musk。

其次,渠道和广告上精准触达用户,现在已经能够做到了。然而,完全从自己产品用户去触达新的目标用户是不现实的,否则还要广告干嘛。自己产品用户之外的用户,自己当然无法直接触达,借助广告渠道的所谓精准触达,一方面有价格的问题,是不是比传统的广告更便宜?另一方面有精准性无法验证的问题,由于隐私的关系,广告主不可能知道自己的广告具体给了谁,是不是精准、有多少效果就无从谈起。

2.智能化。所有的活给机器干,并且以前机器干不了的,现在也能干。以前自动做批量的、一样的事情,现在还能根据大数据、人工智能做一些个性化调整、推荐、决策。

我的质疑:看了整篇介绍,我更愿意给一个实在一些的名字:自动化。所谓智能化只不过是自动化换了个新鲜的名字,实质上都是减少人工参与、尽可能让机器自动化处理。并且,现在“智能”漫天飞的情况下,能播放或者识别下语音、能用手机控制、能指纹人脸识别什么的都叫智能化,而已经脱离了“减少人工参与、机器自动处理”进而提升生产效率的本意,智能变成了高级玩具而已。

抛开这种为了智能而智能的不良风气,相比以前,自动化现在确实有了新的武器:人工智能,并且更加深入新的领域:自动化学习和决策,姑且叫做自动化2.0。我们确实应该在有条件的时候去拿起2.0的新武器,然而问题是,我们很多时候连1.0,也就是非人工智能的自动化都没有做好,遑论2.0乎。

3.网络化。定义是在“需求端形成网络协同效应”。然后举了滴滴和Uber的反例。举了淘宝作为正面例子。

我的质疑:这个网络化定义怎么看都有些当年乐视提出的“生态化反”的意思。抛开已经挂掉的乐视不说,首先,无论滴滴、UBer还是淘宝,从其规模上来说,对广大中小企业都缺乏参考价值。其次,滴滴和Uber这两个例子正好说明了“网络化”这一点的行业局限性,也就是说“网络化”是很挑行业的,挑的都是用户愿意付诸时间的平台化、赢家通吃的行业。总之,这一点参考价值实在是不大。广大中小企业只能做这些平台企业网络化中的一个点而已,妄图成为一个平台、一个“体”结果是99.999%死的很惨。

总结我从中得到的启发:1. 小心智能的陷阱之外,自动化是毋庸置疑、必须推进的;2. 所有数据在线有其价值,但应考虑其投入产出比,不能认为用户反馈可以替代自己的无能,从而解决一切问题;3. 网络化可能是一个生态化反的神话,应谨慎处之,同时应看到新的平台化趋势和风向,在适宜的时机进入与其共同快速发展。

PS:我认为更有可能看到未来趋势的,是淘宝系以外的企业,可能是拼多多、抖音这样发展地如日中天的企业,也可能是我们还没有看到的小不点企业。孙子曰:古之所谓善战者,胜于易胜者也。故善战者之胜也,无智名,无勇功。所以淘宝之胜,不在现在而在过去。今日能否再胜,未可知也。

电脑端

先试用几个
window 10的照片带有视频编辑,不过功能太弱,居然不能删除原音。。。。
openshot 最大问题不支持竖屏视频。不推荐了。
快剪辑,居然是360的。。。相对来说最好用。

手机端

乐秀,已经买了,好用。

变声

audacity是免费开源软件了,可以做一段声音的增删改、放大、减弱,还有几段声音的合成。嗯,不过我最需要的是变声的功能。
打开软件和对应的声音,框选要变声的片段或按“Ctrl+A”全选,选择“效果-改变音高”,在对话框最下方调整百分比就可以啦!值得注意的是,百分比超过±50%的时候声音会损伤,勾选“使用高品质拉伸”即可。

回声

空旷区域的感觉:在效果里选择回声,延迟时间选择0.1秒就可以了。
但更直接的是选择“混响”选项。

录制电脑声音,并载入MP4文件

可以使用Win10的游戏录制功能“Win+G”录制。录制时将麦克风静音。录制完毕生成了.mp4文件。
这儿下载FFmpeg插件ffmpeg-win-2.2.2.exe,请进行默认位置安装。安装完毕后,在“编辑-偏好设置-库”中可以看FFmpeg是否装好。如果没有,可以手动指定位置。
这时就可以直接拖入.mp4文件啦!

官方回复

大约是说, 管理员先解绑邮箱, 这个邮箱账号就会进回收站. 然后60天内新建一个账号,再从邮箱回收站中选取旧邮箱账号, 原邮箱内容都保留.
这种方式的问题是, 新建的邮箱必须使用新的手机号码,如果其他邮箱账号有用,这儿就用不了.

您好,目前暂不支持成员自行解绑微信的,需要管理员在管理后台进行解绑成员邮箱手机以及微信,解绑后可以操作绑定信息激活,管理员操作解绑流程:
1、登录管理后台-通讯录,点击成员查看详情,点击更多操作-解绑邮箱。
解绑邮箱后,手机/微信与成员邮箱解除绑定关系,成员无法登陆。如已开通企业微信,成员对应企业微信账号可以正常使用。
2、解绑邮箱后,通讯录-组织架构该成员显示禁用状态,再次编辑该成员时输入名称和账号新建邮箱。也可选择待分配列表邮箱。
3、解绑邮箱后,邮箱进入管理工具-管理邮箱账号-邮箱回收站,点击分配时可以输入手机号或激活码方式激活邮箱使用
详情参考: https://work.weixin.qq.com/help?person_id=1&doc_id=509&helpType=exmail

另一种方式: 公用邮箱转业务邮箱

管理员在管理工具->管理邮箱账号->业务邮箱->从通讯录添加中来转. 免费版有3个业务邮箱.
业务邮箱无需手机号和微信绑定, 却也不能直接登录. 实际上是下挂在1~N个员工邮箱下的. 员工登录自己的邮箱, 再切换即可.