• Python——读写Excel文件


    需求:

      读取原始Exdel数据,将其中的某一列数据进行增删改操作,然后将改后的数据写入到Exdel文件中

    import xlrd
    import xlwt
    import re

    # 读取excel文件的数据
    def read_xlsx():
    workbook = xlrd.open_workbook('11.xlsx')
    booksheet = workbook.sheet_by_name('Sheet1')
    p = list()
    for row in range(booksheet.nrows):
    row_data = []
    for col in range(booksheet.ncols):
    cel = booksheet.cell(row, col)
    val = cel.value
    try:
    val = cel.value
    val = re.sub(r's+', '', val)
    except:
    pass

    if type(val) == float:
    val = int(val)
    else:
    val = str(val)
    row_data.append(val)
    p.append(row_data)

    return p

    # 将数据写入到exdel文件中,并保存
    def write_xlsx(data):
    book = xlwt.Workbook(encoding='utf-8', style_compression=0)
    sheet = book.add_sheet('test', cell_overwrite_ok=True)
    # 其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False
    # 向表test中添加数据
    p = 0
    for ii in data_list:
    p += 1
    print(ii)
    for k in range(len(ii)):
    sheet.write(p-1, k, ii[k])
    print(ii[k])
    # 最后,将以上操作保存到指定的Excel文件中
    book.save(r'test.xls') # 在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。否则,可能会报错


    if __name__ == '__main__':
    data_list = list()
    data_list = read_xlsx()
    k = 0
    for i in data_list:
    k += 1
    change = i[2]
    change1 = i[2][:7]
    change2 = i[2][7:8] + "层"
    change3 = i[2][7:]+"室"
    change = change1+change2+change3
    data_list[k-1][2] = change
    write_xlsx(data_list)
  • 相关阅读:
    安装ffmpeg视频软件 Linux
    Linux 计划任务
    分享一个大牛的博客地址
    yii验证码Captcha使用以及为什么验证码不刷新问题
    YII缓存之数据缓存
    YII用户注册和用户登录(二)之登录和注册在视图通过表单使用YII小物件并分析
    YIIMVC之用户注册和用户登录
    yii 总结
    yii linux 自动执行脚本
    yii downlist
  • 原文地址:https://www.cnblogs.com/lcl15/p/7993207.html
Copyright © 2020-2023  润新知