参考文章:https://blog.csdn.net/best2012power/article/details/81272007
表格data.xlsx信息如下:
第一种方法:使用xlrd、xlwt
使用xlrd读Excel:
import xlrd
book = xlrd.open_workbook('data.xlsx')
sheets = book.sheets() #返回一个list: [<xlrd.sheet.Sheet object at 0x037B7610>]
sheets0 = sheets[0] #Sheet对象
print("行数:",sheets0.nrows)
print("列数:",sheets0.ncols)
print("第3行的值:", sheets0.row_values(2))
print("第3列的值:", sheets0.col_values(2))
print("第3行第3列的值:",sheets0.cell(2,2).value)
使用xlwt写表格:
import xlwt
workBook = xlwt.Workbook() #工作簿
workSheet = workBook.add_sheet('test') #工作表
workSheet.write(0,0,'000data') #在A1处的数据为000data
workBook.save('excelWrite1.xls') #注意保存表格的后缀是.xls
第二种方式:使用openpyxl
使用openpyxl读表格:
import openpyxl
#利用openpyxl读写excel,注意这里只能是xlsx类型的excel
workBook = openpyxl.load_workbook('data.xlsx')
workSheet = workBook.worksheets[0] #得到第一个sheet
print("行数:", workSheet.max_row)
print("列数:", workSheet.max_column)
print("第3行的值:", [item.value for item in list(workSheet.rows)[2]]) #workSheet.rows是个object
print("第3列的值:", [item.value for item in list(workSheet.columns)[2]])
print("第3行第3列的值:", workSheet.cell(2,3).value)
使用openpyxl写表格:
import openpyxl
workbook = openpyxl.Workbook()
workSheet = workbook.active
workSheet['A1'] = 'shh'
workbook.save('excelWrite2.xls')
第三种方法:使用pandas
pandas是一个数据处理的包,本身提供了许多读取文件的函数,像read_csv(读取csv文件),read_excel(读取excel文件)等,只需一行代码就能实现文件的读取。
使用pandas读取表格:
import pandas
data = pandas.read_excel(r'data.xlsx', sheet_name=0) #data是DataFrame类型
print(data)
使用pandas写表格:
from pandas import DataFrame
data = {
'name': [u'张三', u'李四', u'王五'],
'age': [12,23,15],
'sex': [u'男', u'女', u'女']
}
df = DataFrame(data)
df.to_excel('excelWrite3.xls')