xls0-python3my使用python.pandas修改excel样式

select 6006*0.618 *0.618 x,6006*0.618 xs from DUAL ;

select 6011*0.618 *0.618 x,6011*0.618 xs from DUAL ;

select 6015*0.618 *0.618 x,6015*0.618 xs from DUAL ;

select 6019*0.618 *0.618 x,6019*0.618 xs from DUAL ;

select 6024*0.618 *0.618 x,6024*0.618 xs from DUAL ;

declare

i number;

begin

for x in 5900..6222 loop

dbms_output.put_line(x||'--'||to_char(x*0.618,'9999.99')||'--'||round(x*0.618*0.618,3 ) );

end loop;

end;

/

SQL>

环境:python 3.6.8

>>> pd.read_excel('1.xlsx', sheet_name='Sheet2')

名字 等级 属性1 属性2 天赋

0 四九幻曦 100 自然 None 21

1 圣甲狂战 100 战斗 None 0

2 时空界皇 100 光 次元 27

我们在这里使用了pd.read_excel()函数来读取excel,来看一下read_excel()这个方法的API,这里只截选一部分经常使用的参数:

pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None)

io:很明显, 是excel文件的路径+名字字符串

(有中文的话python2的老铁需要使用decode()来解码成unicode字符串)

例如:

>>> pd.read_excel('例子'.decode('utf-8))

sheet_name:返回指定的sheet

如果将sheet_name指定为None,则返回全表

如果需要返回多个表, 可以将sheet_name指定为一个列表, 例如['sheet1', 'sheet2']

可以根据sheet的名字字符串或索引来值指定所要选取的sheet

>>> # 如:

>>> pd.read_excel('1.xlsx', sheet_name=0)

>>> pd.read_excel('1.xlsx', sheet_name='Sheet1')

>>> # 返回的是相同的 DataFrame

name:如果没有表头, 可用此参数传入列表做表头

header:指定数据表的表头,默认值为0, 即将第一行作为表头

index_col:用作行索引的列编号或者列名,如果给定一个序列则有多个行索引。一般可以设定index_col=False指的是pandas不适用第一列作为行索引。

usecols:读取指定的列, 也可以通过名字或索引值

>>> # 如:

>>> pd.read_excel('1.xlsx', sheet_name=1, usecols=['等级', '属性1'])

>>> pd.read_excel('1.xlsx', sheet_name=1, usecols=[1,2])

>>> # 返回的是相同的 DataFrame

直到某一天泰格尔升了一级, 可以这样改一下, 当然用.iloc或.loc对象都可以

>>> # 读取文件

>>> data = pd.read_excel("1.xlsx", sheet_name="Sheet1")

>>> # 找到 等级 这一列,再在这一列中进行比较

>>> data['等级'][data['名字'] == '泰格尔'] += 1

>>> print(data)

LOOK!他升级了!!

>>> data

名字 等级 属性1 属性2 天赋

0 艾欧里娅 100 自然 冰 29

1 泰格尔 81 电 战斗 16

2 布鲁克克 100 水 None 28

现在我们将它保存

data.to_excel('1.xlsx', sheet_name='Sheet1', index=False, header=True)

index:默认为True, 是否加行索引, 直接上图吧!

左为False, 右为True

header:默认为True, 是否加列标, 上图吧!

左为False, 右为True

而io, sheet_name参数用法同函数pd.read_excel()

如果我们多捕捉几只或者多加几种属性怎么办呢?这里给出参考:

新增列数据:

data['列名称'] = [值1, 值2, ......]

>>> data['特性'] = ['瞬杀', 'None', '炎火']

>>> data

名字 等级 属性1 属性2 天赋 特性

0 艾欧里娅 100 自然 冰 29 瞬杀

1 泰格尔 80 电 战斗 16 None

2 布鲁克克 100 水 None 28 炎火

新增行数据,这里行的num为excel中自动给行加的id数值

data.loc[行的num] = [值1, 值2, ...], (注意与.iloc的区别)

>>> data.loc[3] = ['小火猴', 1, '火', 'None', 31, 'None']

>>> data

名字 等级 属性1 属性2 天赋 特性

0 艾欧里娅 100 自然 冰 29 瞬杀

1 泰格尔 80 电 战斗 16 None

2 布鲁克克 100 水 None 28 炎火

3 小火猴 1 火 None 31 None

说完了增加一行或一列,那怎样删除一行或一列呢?可以使用.drop()函数

>>> # 删除列, 需要指定axis为1,当删除行时,axis为0

>>> data = data.drop('属性1', axis=1) # 删除`属性1`列

>>> data

名字 等级 属性2 天赋 特性

0 艾欧里娅 100 冰 29 瞬杀

1 泰格尔 80 战斗 16 None

2 布鲁克克 100 None 28 炎火

3 小火猴 1 None 31 None

>>> # 删除第3,4行,这里下表以0开始,并且标题行不算在类, axis用法同上

>>> data = data.drop([2, 3], axis=0)

>>> data

名字 等级 属性2 天赋 特性

0 艾欧里娅 100 冰 29 瞬杀

1 泰格尔 80 战斗 16 None

>>> # 保存

>>> data.to_excel('2.xlsx', sheet_name='Sheet1', index=False, header=True)

使用python.pandas修改excel样式

import pandas as pd

from datetime import datetime,timedelta

df = pd.read_clipboard() # 从粘贴板上读取数据

t = datetime.now().date() - timedelta(days=1)

writer = pd.ExcelWriter('样式%d%02d%02d.xlsx' %(t.year,t.month,t.day))

workbook = writer.book

fmt = workbook.add_format({"font_name": u"微软雅黑"})

percent_fmt = workbook.add_format({'num_format': '0.00%'})

amt_fmt = workbook.add_format({'num_format': '#,##0'})

border_format = workbook.add_format({'border': 1})

note_fmt = workbook.add_format(

{'bold': True, 'font_name': u'微软雅黑', 'font_color': 'red', 'align': 'left', 'valign': 'vcenter'})

date_fmt = workbook.add_format({'bold': False, 'font_name': u'微软雅黑', 'num_format': 'yyyy-mm-dd'})

date_fmt1 = workbook.add_format(

{'bold': True, 'font_size': 10, 'font_name': u'微软雅黑', 'num_format': 'yyyy-mm-dd', 'bg_color': '#9FC3D1',

'valign': 'vcenter', 'align': 'center'})

highlight_fmt = workbook.add_format({'bg_color': '#FFD7E2', 'num_format': '0.00%'})

l_end = len(df.index) + 2 # 表格的行数,便于下面设置格式

df.to_excel(writer, sheet_name=u'测试页签', encoding='utf8', header=False, index=False, startcol=0, startrow=2)

worksheet1 = writer.sheets[u'测试页签']

for col_num, value in enumerate(df.columns.values):

worksheet1.write(1, col_num, value, date_fmt1)

worksheet1.merge_range('A1:B1', u'测试情况统计表', note_fmt)

# 设置列宽

worksheet1.set_column('A:D', 30, fmt)

# 有条件设定表格格式:金额列

worksheet1.conditional_format('B3:E%d' % l_end, {'type': 'cell', 'criteria': '>=', 'value': 1, 'format': amt_fmt})

# 有条件设定表格格式:百分比

worksheet1.conditional_format('E3:E%d' % l_end,

{'type': 'cell', 'criteria': '<=', 'value': 0.1, 'format': percent_fmt})

# 有条件设定表格格式:高亮百分比

worksheet1.conditional_format('E3:E%d' % l_end,

{'type': 'cell', 'criteria': '>', 'value': 0.1, 'format': highlight_fmt})

# 加边框

worksheet1.conditional_format('A1:E%d' % l_end, {'type': 'no_blanks', 'format': border_format})

# 设置日期格式

worksheet1.conditional_format('A3:A62', {'type': 'no_blanks', 'format': date_fmt})

writer.save()

python3 excel样式_xls0-python3my使用python.pandas修改excel样式相关推荐

  1. python3 excel样式_python3my使用python.pandas修改excel样式

    python3my使用python.pandas修改excel样式 环境:python 3.6.8 以某米赛尔号举个例子吧: >>> pd.read_excel('1.xlsx', ...

  2. python利用pandas合并excel表格代码_利用Python pandas对Excel进行合并的方法示例

    前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...

  3. python读写excel模块pandas_如何用python pandas操作excel?

    之前跟大家说过关于python处理excel的问题,但是大家反映有些繁琐,大概涉及内容比较多,于是,小编在日常学习中,发现了更简单的方式,现在给大家展示,以便于大家在日后学习里可以方便使用,一起来看下 ...

  4. python对数据进行合并的函数_利用Python pandas对Excel进行合并的方法示例

    前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...

  5. Python+Pandas读取Excel文件分析关系最好的两个演员

    董老师又双叒叕送书啦,6本<Python程序设计基础与应用(第2版)> 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国 ...

  6. Python+pandas读取Excel文件统计最受欢迎的前3位演员

    推荐教材:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社,2018.8出版,2021.3第11次印刷 图书详情: 配套资源: 用书教师可 ...

  7. Python+pandas处理Excel文件案例一则

    封面图片:<Python程序设计实验指导书>(ISBN:9787302525790),董付国,清华大学出版社 图书详情(京东): ==================== 问题描述:使用p ...

  8. python pandas读取excel时动态确定标题行所在行数

    python pandas读取excel时动态确定标题行所在行数,动态跳过标题前空白行 利用python对excel或者csv文件进行批量操作时,除了使用xlrd库或者xlwt库进行表格的操作读与写, ...

  9. python pandas合并单元格_利用Python pandas对Excel进行合并的方法示例

    前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...

最新文章

  1. Vue入门一、常用的指令
  2. CKFinder 自定义文件路径扩展ConfigurationPathBuilder
  3. scala模式匹配match操作
  4. SDUT 2127 树-堆结构练习——合并果子之哈夫曼树(优先队列)
  5. 【ML】 李宏毅机器学习一:error
  6. boost::callable_traits的has_member_qualifiers的测试程序
  7. 训练大型神经网络方法总结
  8. python元组和列表字典_python:列表、元组和字典
  9. 用c语言编写最大最小值_C语言学习教程,用C语言编写扫雷游戏
  10. 完整的连接器设计手册_广西直销施耐德漏电断路器选型手册
  11. LumaQQ.NET 试用
  12. matlab随机欠采样,欠采样技术
  13. 微信公众号(订阅号)如何开通付费功能?
  14. 在积分系统中可以设置哪些获取积分方式
  15. android 视频做背景图片,视频后面怎么加背景图片?安卓手机给视频添加背景图片的方法...
  16. 人生中重要抉择:读研还是工作?
  17. Python编辑基础课后习题(持续更新)
  18. CMD命令下修改和查看IP地址,DNS,网关
  19. 2019年高教社杯全国大学生数学建模竞赛 题目回顾及个人体会
  20. 十个谋杀安卓手机电池的应用

热门文章

  1. 计算机科学优青,关于举办华南理工大学“海内外优秀青年学者论坛” 计算机科学与工程学院分论坛的通知...
  2. Java高手群(学习交流群)
  3. 搜索引擎技术学习笔记一
  4. 生命大数据(22页PPT图文详解版 华大基因董事长汪建)
  5. Cacls命令的使用
  6. clustalo(Ω)Linux的安装及最简单使用命令
  7. 利用VB 脚本实现TIA 中界面循环计数的功能
  8. Android模拟键盘和键盘监听
  9. 采集腾讯视频里电视剧《在一起》的全部评论信息并且制作词云
  10. mysql explain 性能分析_Mysql explain用法和性能分析