excel和python什么区别
python读取txt只需用open、read语句
如:f = open( ' a.txt') #打开要读取的txt文件
line = f.readline() #逐行读取
读取excel要用到第三方模块,例:xlrd, xlwt, pyExcelerator。
xlrd主要用于读excel,xlwt和pyExcelerator主要用于写excel
python如何读写excel表格?有哪些比较简单的方法可供参考
需要导入xlwt和xlrd两个模块
import xlwt
import xlrd
#读Excel文件
workbook=xlrd.open_workbook(r'D:\test.xlsx')#打开Excel文件sheet=workbook.sheet_by_index(0) # sheet索引从0开始sheet_col=sheet.col_values(0)#得到第一列的内容
#写Excel文件
workbook=xlwt.Workbook()
sheet1 = workbook.add_sheet('xlwt', cell_overwrite_ok=True)
style = xlwt.XFStyle()#初始化样式
# 创建字体样式
font = xlwt.Font()font.name = 'Times New Roman'
font.bold = True # 加粗
#设置字体
style.font = font
for i in range(0, len(belong_place)):
sheet1.write(i + 1, 0, sheet_col[i], style) # 号码
sheet1.write(i + 1, 1, belong_place[i], style) # 归属地
# 保存excel文件,有同名的直接覆盖
workbook.save(r'D:\test1.xls')
来,一步一步图文给你分析。
Python对数据写入Execl文件并生成图表
需求:
为了做测试或者对爬虫程序爬取数据进行分析汇总,我们时常会将数据生成报表,但是如果我们想将报表生成在Excel中,这时候就可以借助xlsxwriter第三方包来生成图表。
分析:
为生成excel准备多维数组类型的数据->数据插入到Excel中->对数据按系列划分生成图表
第一步:准备数据:
使用爬虫爬取网络上关于热门岗位的数据并生成多维数组类型,如下:
data = [ ["IOS岗位数", "Android岗位数", "Python岗位数", "物联网岗位数", "Go与区块链岗位数"], [2000, 4000, 60000, 8000, 1000],]
第二步:将数据插入Excel中
首先要创建一个Excel文件,然后在Excel中创建一个sheet表单页,最后将数据插入到sheet表单页中
1、创建一个Excel对象
workbook = xlsxwriter.Workbook(“Excel名字.xlsx”)
2、基于Excel对象创建一个sheet表单对象
worksheet = workbook.add_worksheet(name=“sheet表单的名字,不填写就默认为sheet1")
3、将数据写入sheet表单页worksheet
worksheet.write_row( row, col, data, cell_format=None)
worksheet.write_column(row, col, data, cell_format=None)
3.1、可以用A1表示第一行第一列的那个单元格,这个时候后面的data可以是个数组,直接插入一行数据
worksheet.write_column("A1", 一列数据, 样式(非必填项))
worksheet.write_row("A1", 一行数据, 样式(非必填项))
具体代码如下:
# Write some data to add to plot on the chart.data = [ ["IOS岗位数", "Android岗位数", "Python岗位数", "物联网岗位数", "Go与区块链岗位数"], [2000, 4000, 60000, 8000, 1000],]worksheet.write_column('A1', data[0])worksheet.write_column('B1', data[1])
第三步:生成图表
1.通过Workbook add_chart()方法创建图表对象,其中指定了图表类型:
chart = workbook.add_chart({'type': 'column'})
通过type定义图标的类型,比如是柱形图还是饼图
支持的图表类型是:
area:创建区域(实线)样式图表。
bar:创建条形样式(转置直方图)图表。
column:创建列样式(直方图)图表。
line:创建线型图表。
pie:创建饼图样式图表。
doughnut:创建圆环样式图表。
scatter:创建散点图样式图表。
stock:创建库存样式图表。
radar:创建雷达样式图表。
代码如下:
# Create a new Chart object.chart = workbook.add_chart({'type': 'column'})
2、添加图标要统计的数据,同一个报表可以添加多个系列
代码如下:
chart.add_series({ 'categories': '=Sheet1!$A$1:$A$5', 'values': '=Sheet1!$B$1:$B$5', 'line': {'color': 'red'}, 'name': '各岗位数汇总',})
categories:这将设置图表类别标签。该类别与X轴大致相同。在大多数图表类型中,该categories 属性是可选的,图表将仅假设一个顺序系列 1..n。
values:这是系列中最重要的属性,是每个图表对象的唯一必需选项。此选项将图表与其显示的工作表数据相链接。可以使用上面第一个示例中所示的公式或使用第二个示例中所示的值列表来设置数据范围。
line:设置系列线型的属性,如颜色和宽度。请参见图表格式:行。
name:设置系列的名称。名称显示在公式栏中。对于非饼图/圆环图,它也会显示在图例中。name属性是可选的,如果未提供,则默认为。名称也可以是公式,例如,包含工作表名称,行和列的列表。Series 1..n=Sheet1!$A$1['Sheet1', 0, 0]
如下图所示:
3、给图表定义名字和样式
代码如下:
chart.set_title({'name': '各岗位数汇总_图表'})chart.set_style(10)
4、将图表插入到Excel中
代码如下:
# Insert the chart into the worksheet.worksheet.insert_chart('A7', chart)
<img class="6bbbea559dd8acac capture deal" src="//s3.pstatp.com/wenda/wenda_web/static/style/image/loading_a788ad0.gif" _src="data:image/svg+xml;utf8,<svg xmlns=" http:="" www.w3.org="" 2000="" svg'="" width="1514" height="950">5、关闭保存修改
代码如下:
workbook.close()
python读写excel的方式有很多,这里我介绍3种方式,一种是利用xlrd和xlwt进行excel读写,一种是openpyxl读写,最后一种是利用pandas进行读写,下面我主要介绍一下3种方式读写的过程,实验环境win7+python3.6+pycharm5.0,主要步骤如下:
为了方便演示,我这里新建了一个test.xls文件,主要内容如下,用于测试读excel的代码:
方法一:利用xlrd和xlwt进行excel读写,这里只能是xls类型excel
首先,安装的话,直接输入命令"pip install xlrd"和"pip install xlwt"就行,如下:
xlrd读excel
主要代码如下,主要包括读取行列和单元格的值,以及表格总行数和列数等,比较简单:
程序运行截图:
xlwt写excel
主要代码如下,很简单:
程序运行后,save.xls文件内容截图如下:
方法二:利用openpyxl读写excel,注意这里只能是xlsx类型的excel
安装的话,直接输入命令"pip install openpyxl"就行,很快就能安装完毕。
读excel
主要代码如下:
程序运行截图如下:
写excel
主要代码如下:
程序运行后,new.xlsx保存的内容如下:
方法三:利用pandas读取excel,这里就很简单了,pandas是一个数据处理的包,本身提供了>很多span>读取文件的函数,像read_csv(读取csv文件),read_excel(读取excel文件)等,只需一行代码就能实现文件的读取
读excel
主要代码如下,就1行代码搞定,注意这里的data是DataFrame类型:
程序运行截图如下:
写excel
主要代码如下:
程序运行后,new.xls文件保存内容如下:
至此,我们就完成了excel的读写。总的来说,这3种方法都很简单,尤其是第3种方法,1行代码就搞定,在数据处理中,经常会用到pandas这个包,功能很强大,当然还有许多其他的包也可以完成excel的读写,我这里就不一一详细列举了,感兴趣的话可以到网上搜一搜相关资料和教程,了解了解,帮助很大,希望以上分享的内容能对你有所帮助吧。