影
这个问题以前回答过,这里再总结一下,目前来说,有3种常见的python读写excel表格的方式,分别是xlrd和xlwt、openpyxl和pandas,这3种方法读写excel表格都挺简单的,下面我简单介绍一下这3种方式是如何读写excel的,实验环境win10+python3.6+pycharm5.0,主要内容如下:
为了更好地说明问题,这里我新建了一个grade.xls文件,数据都是随机填写的,后面读取的内容都是这个excel表格,截图如下:
xlrd和xlwt:这是最基本的2个读写excel表格的库,其中xlrd专门用于读取excel表格内容,xlwt专门用于写入excel表格,相关测试代码及截图如下:
1.首先,安装xlrd和xlwt,这个直接在cmd窗口输入命令“pip install xlrd xlwt”就行,如下:
2.xlrd读取excel表格,这里主要读取了表格所有行数、列数,以及单元格、行列内容,代码如下:
程序截图如下:
3.xlwt写入excel表格,这里比较简单,只需要按照行号和列好定位到对应单元格,再写入就行,代码如下:
写入excel表格内容如下:
openpyxl:这也是一个专门用于读写excel表格的库,读写方式与xlrd、xlwt类似,只不过只能是xlsx格式的excel,不能是xls类型的,不然会报错,相关测试代码及截图如下:
1.首先,安装openpyxl,这个直接在cmd窗口输入命令“pip install openpyxl”就行,如下:
2.读取excel表格,代码如下,很简单:
程序运行截图如下:
3.写入excel表格,这个代码也很简单,写入对应单元格就行:
写入excel表格的内容如下:
pandas:这是一种最简单的读写excel表格的方式,只需一行代码就能读写excel表格的内容,在数据处理上经常会用到,是一个很不错的库,相关测试代码及截图如下:
1.首先,安装pandas,这个由上面一样,直接输入命令“pip install pandas”就行,如下:
2.pandas读取excel表格,这里只需一行代码就能读取excel内容,主要用到read_excel这个函数,这里默认会读取列标题,如果不需要,设置header=None就行,如果需要做统计分析的话,也可以利用groupby等函数进行处理:
程序运行截图如下:
3.pandas写入excel表格,主要用到to_excel这个函数,也是一行代码就能保存,如果不需要index索引的话,设置index=False就行,代码如下:
写入excel表格内容如下:
至此,我们就完成了利用python来读写excel表格。总的来说,这个3种方式都挺简单的,只要你有一定python基础,熟悉一下相关代码,很快就能掌握的,当然,你也可以利用其它库读写excel表格内容,像win32com,xlswrite等,这里就不详细介绍了,网上也有相关资料和教程可供参考,感兴趣的可以搜一下,希望以上分享的内容能对你有所帮助吧。
小小猿爱嘻嘻
一、用xlrd和xlwt读写excel
首先要安装xlrd,xlwt两个库。
1、打开excel
readbook = xlrd.open_workbook(r'\\sample.xlsx')
2、获取读入的文件的sheet
#索引的方式,从0开始
sheet = readbook.sheet_by_index(1)
# 名字的方式
sheet = readbook.sheet_by_name('sheet2')
3、获取某个单元格的值
#获取i行3列的表格值
lng = table.cell(i,3).value
#获取i行4列的表格值
lat = table.cell(i,4).value
4、打开将写的表并添加sheet
#打开一个excel
writebook = xlwt.Workbook()
#在打开的excel中添加一个sheet
sheet = writebook.add_sheet('test')
5、将数据写入excel
#写入excel,i行0列
sheet.write(i,0,result[0])
sheet.write(i,1,result[1])
6、保存
#一定要记得保存
writebook.save('answer.xls')
二、使用openpyxl库读写excel
1、打开Excel
wb = load_workbook("sample.xlsx")
2、创建一个工作表
wb = Workbook()
3、创建一个sheet
sheet = wb.active
4、给sheet起个名字
sheet.title = "New Shit"
5、读取到指定的Sheet
sheet = wb.get_sheet_by_name("Sheet3")
6、往sheet里写入
sheet['C3'] = 'Hello world!'
for i in range(10):
sheet["A%d" % (i+1)].value = i + 1
7、保存
wb.save('sample.xlsx')