使用Python管理Excel表格的简约方法,xlsxwriter成立excel图表的方法

导入pandas模块:

Windows下Python使用Pandas模块操作Excel文件的科目,

安装Python环境 ANACONDA是叁个Python的发行版本,包蕴了400四个Python最常用的库,当中就包涵了数额深入分析中须要平常应用到的Numpy和Pandas等。更重视的是,不论在哪个平台上,都能够①键安装,自动配置好情状,不须要用户任何的额外操作,非常便利。因而,安装Python蒙受就只须求到ANACONDA网址上下载安装文件,双击安装就可以。
ANACONDA官方下载地址:
设置到位今后,使用windows +
r键展开Windows命令行,输入ipython,然后回车:

Python 2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Jan 29 2016, 14:26:21) [MSC v.1500 64 bit (AMD64)]

Type "copyright", "credits" or "license" for more information.

IPython 4.0.3 -- An enhanced Interactive Python.

?     -> Introduction and overview of IPython's features.

%quickref -> Quick reference.

help   -> Python's own help system.

object?  -> Details about 'object', use 'object??' for extra details.

如上所示,假设成功进去了Python情形,则表示安装成功。

使用pandas处理excel 在本文笔者以log.xls文件为例,来阐明怎么着使用pandas管理excel文件。log.xls文件的内容如下所示:

美高梅开户网址 1

能够见见log.xls中含有了七个的表(sheet),每一种表主要回顾了member和activity四个属性,一样的member
ID的数目相邻的排列在壹块儿,并且最终一行是前面全体的集聚。这里,大家假使需求领收取每一种member汇总的音信,即提取每种member一连出现的末尾壹行的多寡。如何落实呢?

此地大家就来隆重介绍Pandas,,从

python setup.py install 

安装。

(PS:python的大数据模块pandas完全安装达成后还借助于
• NumPy: 1.6.1 or higher
• python-dateutil 1.5
• pytz
那七个模块恐怕要设置。
可选择注重有(能够依靠供给设置)
• SciPy: miscellaneous statistical functions
• PyTables: necessary for HDF5-based storage
• SQLAlchemy: for SQL database support. Version 0.8.1 or higher
recommended.
• matplotlib: for plotting
• statsmodels
– Needed for parts of pandas.stats
• openpyxl, xlrd/xlwt
– openpyxl version 1.6.1 or higher, but lower than 2.0.0
– Needed for Excel I/O
• XlsxWriter
– Alternative Excel writer.
• boto: necessary for Amazon S3 access.

美高梅开户网址 ,)

导入pandas模块:

import pandas as pd

采纳import读入pandas模块,并且为了方便使用其缩写pd指代。

使用Python管理Excel表格的简约方法,xlsxwriter成立excel图表的方法。读入待管理的excel文件:

df = pd.read_excel('log.xls')

通过运用read_excel函数读入excel文件,前边须要替换来excel文件所在的门径。读入之后成为pandas的DataFrame对象。DataFrame是多个面向列(column-oriented)的2维表结构,且带有列表和行标,对excel文件的操作就转变为对DataFrame操作。此外,假设二个excel含有五个表,假若你只想读入其中2个足以:

df = pd.read_excel('log.xls', sheetname=1)

追加了三个参数sheetname,表示的是第多少个表,从0开始计数。小编上边安装的是一,也便是第二个表。

读入之后,能够先查看表头消息和每壹列的数据类型:

df.dtypes

输出如下:

Member     object
Unnamed: 1  float64
Unnamed: 2  float64
Unnamed: 3  float64
Unnamed: 4  float64
Unnamed: 5  float64
家内外活动类型    object
Unnamed: 7   object
activity    object
dtype: object

领取每一种member延续出现的最后一行数据:

 new_df = df.drop_duplicates(subset='Member', keep='last')

以上语句的情趣是依靠Member字段去除掉多余的行,并且保留一样行的结尾一行数据。这个就拿走了每1个member最终一行的数量了,重返了通过筛选后的DataFrame。

接下去必要将管理后的结果,保存为excel文件:

out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

output.xls是您要保留的公文名,能够任取;然后将DataFrame的内容保留到该文件,末了保存该公文到系统的磁盘上。

接下去,你就足以在当前目录看到三个新的文书,能够一向使用excel张开查看。

Pandas还提供了累累的API,能够根据现实的天职,查找API文书档案,找到确切的函数来产生职分。

附:三个完好的言传身教

#coding=utf-8
import pandas as pd

# 读入excel文件中的第2个表
df = pd.read_excel('log.xls', sheetname=1)
# 查看表的数据类型
print df.dtypes
# 查看Member列的数据
print df['Member']

'''
# 新建一列,每一行的值是Member列和activity列相同行值的和
for i in df.index:
  df['activity_2'][i] = df['Member'][i] + df['activity'][i]
'''

# 根据Member字段去除掉多余的行,并且保留相同行的最后一行数据
new_df = df.drop_duplicates(subset='Member', keep='last')
# 导出结果
out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

安装Python情况ANACONDA是一个Python的发行版本,包蕴了400几个Python最常用的库,在那之中就归纳了…

正文实例为我们享受了python
xlsxwriter创设excel图表的现实代码,供我们参谋,具体内容如

Excel 中的每1个单元,都会有那么些属性:颜色(colors)、number
formatting、字体(fonts)、边界(borders)、alignment、方式(patterns)
等等。

import pandas as pd
#coding=utf-8 
import xlsxwriter 
from xlsxwriter.workbook import Workbook 
from xlrd.sheet import Sheet 

def demo1(): 
 import xlsxwriter 


 # 创建excel文件 
 workbook = xlsxwriter.Workbook('demo.xlsx') 
#  添加worksheet,也可以指定名字 
 worksheet = workbook.add_worksheet() 
 worksheet = workbook.add_worksheet('Test') 

 #设置第一列的宽度 
 worksheet.set_column('A:A', len('hello ')+1) 

 #添加一个加粗格式方便后面使用 
 bold = workbook.add_format({'bold': True}) 

 #在A1单元格写入纯文本 
 worksheet.write('A1', 'Hello') 

 #在A2单元格写入带格式的文本 
 worksheet.write('A2', 'World', bold) 

 #指定行列写入数字,下标从0开始 
 worksheet.write(2, 0, 123) 
 worksheet.write(3, 0, 123.456) 

 #在B5单元格插入图片 
 worksheet.insert_image('B5', 'python-logo.png') 


 workbook.close() 


def charts(): 
 workbook = xlsxwriter.Workbook('chart_column.xlsx') 
 worksheet = workbook.add_worksheet() 
 bold = workbook.add_format({'bold': 1}) 

 # 这是个数据table的列 
 headings = ['Number', 'Batch 1', 'Batch 2'] 
 data = [ 
  [2, 3, 4, 5, 6, 7], 
  [10, 40, 50, 20, 10, 50], 
  [30, 60, 70, 50, 40, 30], 
 ] 
 #写入一行 
 worksheet.write_row('A1', headings, bold) 
 #写入一列 
 worksheet.write_column('A2', data[0]) 
 worksheet.write_column('B2', data[1]) 
 worksheet.write_column('C2', data[2]) 



 ############################################ 
 #创建一个图表,类型是column 
 chart1 = workbook.add_chart({'type': 'column'}) 

 # 配置series,这个和前面worksheet是有关系的。 
#  指定图表的数据范围 
 chart1.add_series({ 
  'name':  '=Sheet1!$B$1', 
  'categories': '=Sheet1!$A$2:$A$7', 
  'values':  '=Sheet1!$B$2:$B$7', 
 }) 
 chart1.add_series({ 
  'name':  "=Sheet1!$C$1", 
  'categories': '=Sheet1!$A$2:$A$7', 
  'values':  '=Sheet1!$C$2:$C$7', 
 }) 
# 配置series的另一种方法  
#  #  [sheetname, first_row, first_col, last_row, last_col] 
#  chart1.add_series({ 
#   'name':   ['Sheet1',0,1], 
#   'categories': ['Sheet1',1,0,6,0], 
#   'values':  ['Sheet1',1,1,6,1], 
#      }) 
#   
# 
# 
#  chart1.add_series({ 
#   'name':  ['Sheet1', 0, 2], 
#   'categories': ['Sheet1', 1, 0, 6, 0], 
#   'values':  ['Sheet1', 1, 2, 6, 2], 
#  }) 


#  添加图表标题和标签 
 chart1.set_title ({'name': 'Results of sample analysis'}) 
 chart1.set_x_axis({'name': 'Test number'}) 
 chart1.set_y_axis({'name': 'Sample length (mm)'}) 

 # 设置图表风格 
 chart1.set_style(11)  

 # 在D2单元格插入图表(带偏移) 
 worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) 

 ####################################################################### 
 # 
 # 创建一个叠图子类型 
 chart2 = workbook.add_chart({'type': 'column', 'subtype': 'stacked'}) 

 # Configure the first series. 
 chart2.add_series({ 
  'name':  '=Sheet1!$B$1', 
  'categories': '=Sheet1!$A$2:$A$7', 
  'values':  '=Sheet1!$B$2:$B$7', 
 }) 

 # Configure second series. 
 chart2.add_series({ 
  'name':  '=Sheet1!$C$1', 
  'categories': '=Sheet1!$A$2:$A$7', 
  'values':  '=Sheet1!$C$2:$C$7', 
 }) 

 # Add a chart title and some axis labels. 
 chart2.set_title ({'name': 'Stacked Chart'}) 
 chart2.set_x_axis({'name': 'Test number'}) 
 chart2.set_y_axis({'name': 'Sample length (mm)'}) 

 # Set an Excel chart style. 
 chart2.set_style(12) 

 # Insert the chart into the worksheet (with an offset). 
 worksheet.insert_chart('D18', chart2, {'x_offset': 25, 'y_offset': 10}) 

 ####################################################################### 
 # 
 # Create a percentage stacked chart sub-type. 
 # 
 chart3 = workbook.add_chart({'type': 'column', 'subtype': 'percent_stacked'}) 

 # Configure the first series. 
 chart3.add_series({ 
  'name':  '=Sheet1!$B$1', 
  'categories': '=Sheet1!$A$2:$A$7', 
  'values':  '=Sheet1!$B$2:$B$7', 
 }) 

 # Configure second series. 
 chart3.add_series({ 
  'name':  '=Sheet1!$C$1', 
  'categories': '=Sheet1!$A$2:$A$7', 
  'values':  '=Sheet1!$C$2:$C$7', 
 }) 

 # Add a chart title and some axis labels. 
 chart3.set_title ({'name': 'Percent Stacked Chart'}) 
 chart3.set_x_axis({'name': 'Test number'}) 
 chart3.set_y_axis({'name': 'Sample length (mm)'}) 

 # Set an Excel chart style. 
 chart3.set_style(13) 

 # Insert the chart into the worksheet (with an offset). 
 worksheet.insert_chart('D34', chart3, {'x_offset': 25, 'y_offset': 10}) 
 #生成圆饼图 
 chart4 = workbook.add_chart({'type':'pie'}) 
 #定义数据 
 data = [ 
   ['Pass','Fail','Warn','NT'], 
   [333,11,12,22], 
   ] 
 #写入数据 
 worksheet.write_row('A51',data[0],bold) 
 worksheet.write_row('A52',data[1]) 

 chart4.add_series({   
  'name':   '接口测试报表图', 
  'categories': '=Sheet1!$A$51:$D$51', 
  'values':  '=Sheet1!$A$52:$D$52', 
  'points':[ 
   {'fill':{'color':'#00CD00'}}, 
   {'fill':{'color':'red'}}, 
   {'fill':{'color':'yellow'}}, 
   {'fill':{'color':'gray'}}, 
     ], 
 }) 
 # Add a chart title and some axis labels. 
 chart4.set_title ({'name': '接口测试统计'}) 
 chart4.set_style(3)  
#  chart3.set_y_axis({'name': 'Sample length (mm)'}) 

 worksheet.insert_chart('E52', chart4, {'x_offset': 25, 'y_offset': 10}) 
 workbook.close() 
if __name__ == '__main__': 
#  demo1() 
 charts() 
 print('finished...') 
 pass 

美高梅开户网址 2

选拔import读入pandas模块,并且为了方便使用其缩写pd指代。

成效如下

xlsxwriter 格式管理,将待添增添少调换来相应的格式,增添到 xlsx 文件中

读入待管理的excel文件:

美高梅开户网址 3

美高梅开户网址 4

df = pd.read_excel('log.xls')

参考文书档案:

总结

透过动用read_excel函数读入excel文件,前面必要替换来excel文件所在的门道。读入之后成为pandas的DataFrame对象。DataFrame是贰个面向列(column-oriented)的二维表结构,且富含列表和行标,对excel文件的操作就改动为对DataFrame操作。其它,假若一个excel含有多个表,假诺你只想读入当中一个得以:

以上所述是小编给我们介绍的行使Python管理Excel表格的归纳方法,希望对大家有着帮助,若是我们有别的疑问请给自身留言,小编会及时还原我们的。在此也极度感激我们对剧本之家网址的援助!

df = pd.read_excel('log.xls', sheetname=1)

python使用xlsxwriter构建excel周报日周的总计图表

您或许感兴趣的稿子:

  • Python三贯彻从文件中读取钦赐行的办法
  • Python完成对excel文件列表值实行总结的主意
  • python读取excel内定列数据并写入到新的excel方法
  • Python进行多少提取的格局总括
  • 用python读写excel的方法
  • 焚林而猎Python pandas df 写入excel
    出现的标题
  • Python三使用pandas模块读写excel操作示例
  • Python基于xlrd模块操作Excel的措施言传身教
  • 行使python将大气数据导出到Excel中的小技巧分享
  • 使用python对Excel中的特定数据提取并写入新表的办法
  • python
    xlsxwriter创制excel图表的主意
  • python操作excel的包(openpyxl、xlsxwriter)
  • python操作excel的章程(xlsxwriter包的运用)
  • Python完结读取txt文件并调换为excel的不二秘技言传身教
  • python三读取excel文件只领到有个别行某个列的值方法

追加了三个参数sheetname,表示的是第多少个表,从0开头计数。我上边安装的是①,约等于第二个表。

以上就是本文的全体内容,希望对大家的学习抱有支持,也期望大家多多援救脚本之家。

读入之后,能够先查看表头新闻和每一列的数据类型:

你大概感兴趣的作品:

  • Python3贯彻从文件中读取钦命行的形式
  • Python完毕对excel文件列表值实行总括的法子
  • python读取excel钦定列数据并写入到新的excel方法
  • Python实行多少提取的措施计算
  • 用python读写excel的方法
  • 化解Python pandas df 写入excel
    出现的标题
  • Python三行使pandas模块读写excel操作示例
  • Python基于xlrd模块操作Excel的办法言传身教
  • 采用python将大量数码导出到Excel中的小本事分享
  • 采纳python对Excel中的特定数据提取并写入新表的不二等秘书诀
  • python操作excel的包(openpyxl、xlsxwriter)
  • python操作excel的方法(xlsxwriter包的行使)
  • 使用Python管理Excel表格的简要方法
  • Python完毕读取txt文件并转换为excel的秘诀言传身教
  • python三读取excel文件只领到某个行某个列的值方法
df.dtypes

输出如下:

Member   object
Unnamed: 1 float64
Unnamed: 2 float64
Unnamed: 3 float64
Unnamed: 4 float64
Unnamed: 5 float64
家内外活动类型  object
Unnamed: 7  object
activity  object
dtype: object

领取每一个member延续出现的尾声一行数据:

new_df = df.drop_duplicates(subset='Member', keep='last')

以上语句的情趣是依附Member字段去除掉多余的行,并且保留同样行的末尾一行数据。这么些就拿走了每叁个member最终1行的数据了,重临了通过筛选后的DataFrame。

接下去需求将管理后的结果,保存为excel文件:

out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

output.xls是您要保留的文本名,能够任取;然后将DataFrame的内容保留到该公文,最终保存该公文到系统的磁盘上。

接下去,你就足以在当前目录看到1个新的公文,能够直接使用excel打开查看。

Pandas还提供了过多的API,能够依据现实的天职,查找API文书档案,找到适合的函数来产生职分。

附:五个整机的示范

#coding=utf-8
import pandas as pd

# 读入excel文件中的第2个表
df = pd.read_excel('log.xls', sheetname=1)
# 查看表的数据类型
print df.dtypes
# 查看Member列的数据
print df['Member']

'''
# 新建一列,每一行的值是Member列和activity列相同行值的和
for i in df.index:
 df['activity_2'][i] = df['Member'][i] + df['activity'][i]
'''

# 根据Member字段去除掉多余的行,并且保留相同行的最后一行数据
new_df = df.drop_duplicates(subset='Member', keep='last')
# 导出结果
out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

如上那篇对Python 二.7 pandas
中的read_excel详解正是作者分享给我们的全体内容了,希望能给我们3个参谋,也期望咱们多多帮助脚本之家。

您可能感兴趣的文章:

  • 化解Python pandas df 写入excel
    现身的难点
  • Python基于xlrd模块操作Excel的法子言传身教
  • 使用python将大气数目导出到Excel中的小工夫分享
  • 运用python对Excel中的特定数据提取并写入新表的艺术
  • python
    xlsxwriter创制excel图表的格局
  • python操作excel的包(openpyxl、xlsxwriter)
  • python操作excel的法子(xlsxwriter包的应用)
  • 选取Python管理Excel表格的简易方法
  • Python达成读取txt文件并转换为excel的章程言传身教
  • python读取excel内定列数据并写入到新的excel方法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图