python之表格处理


# -*- coding: UTF-8 -*-
import openpyxl

# openpyxl中列和行的起始标识都是1,不是从0开始
#
# 从excel中读取出来的数据只有两种类型,即数值类型和字符串类型
#
# 不要随便在表格中敲空格,会影响判断最大行数和最大列数
#
# 运行操作excel的代码时,要先关闭在操作系统中打开的相关excel表,否则可能会无法读取/写入数据
#
# 写入数据时要执行保存

def create_table():
    # 创建一个工作簿
    workbook = openpyxl.Workbook()
    # 创建一个表单
    sheet = workbook.create_sheet('sheet')
    # 写入一个数据
    sheet.cell(row=1, column=1, value="python")
    # 保存
    workbook.save('test1.xlsx')

def load_table():
    # 打开工作簿
    workbook = openpyxl.load_workbook(u"Book.xlsx")
    # 获取表单
    sheet_name = workbook['Sheet1']
    # 读取指定的单元格数据
    cell_value = sheet_name.cell(row=1, column=2).value
    #学号
    print(cell_value)
    #读取A6单元格的值
    cell_A6 = sheet_name['A6'].value
    print(cell_A6)
    #读取第3行, 第4列单元格的值
    cell_3_4 = sheet_name.cell(row=3, column=4).value
    print(cell_3_4)
    #往单元格写入数据
    cell_3_5 = sheet_name.cell(row=3, column=5, value='testsdfsdfsdf')
    print(sheet_name.cell(row=3, column=5).value)
    #获取表单数据的总行数
    print(sheet_name.max_row)
    #获取表单数据的总列数
    print(sheet_name.max_column)
    #获取按行所有的数据
    rows_data = sheet_name.rows
    #print(list(rows_data))
    for row in list(rows_data):
        case = []
        for i in row:
            #使用eval(数据) 将str类型转换为他原来的类型
            case.append("%s" % i.value)
        print(case)
    #获取按列所有的数据,# 按列读取所有数据,每一列的单元格放入一个元组中
    ## 直接打印,打印结果是一个可迭代对象,我们可以转换成列表来查看
    columns_data = sheet_name.columns
    print(list(columns_data))
    workbook.close()


#load_table()

def test_write():
    book = openpyxl.load_workbook(u'Book.xlsx')
    sheet = book['Sheet1']
    sheet.cell(6, 1).value = 'name'
    sheet.cell(7, 1).value = '姓名'
    sheet.cell(8, 1).value = '林新发'
    sheet.cell(9, 1).value = '林li'
    book.save(u'Book.xlsx')
    book.close()

#test_write()
def write_table():
    # 打开工作簿
    workbook1 = openpyxl.load_workbook(u"Book.xlsx")
    # 获取表单
    sheet_name = workbook1['Sheet1']
    # 写入一个数据
    sheet_name.cell(5, 5).value = '和平'
    sheet_name.cell(6, 5).value = '众生'
    sheet_name.cell(7, 5).value = '不同'
    # 保存
    workbook1.save(u"Book.xlsx")
    workbook1.close()

write_table()

def test_1():
    book = openpyxl.load_workbook(u'我的表格.xlsx')
    if None != book[u'我的Sheet']:
        print('我的Sheet 存在')
    book.close()

def test_2():
    book = openpyxl.load_workbook(u'我的表格.xlsx')
    sheet = book.create_sheet('我的Sheet')
    book.save(u'我的表格.xlsx')
    book.close()

#遍历所有表名
def test_3():
    book = openpyxl.load_workbook(u'我的表格.xlsx')
    for sheet_name in book.sheetnames:
        print(sheet_name)
    book.close()


 

你可能感兴趣的:(Python,python,开发语言)