python如何读写excel表格?有哪些比较简单的方法可供参考?


这个问题以前回答过,这里再总结一下,目前来说,有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')


分享到:


相關文章: