zoukankan      html  css  js  c++  java
  • python操作excel以及word文档,pdf文档

    1.读excel

    import xlrd
    
    # 打开excel
    data = xlrd.open_workbook("Gitee.xlsx")
    
    table = data.sheet_by_name("程序开发")  # # 选择的表单页
    
    # print(table.nrows)   # 多少行
    # print(table.ncols)   # 多少列
    # print(table.row_values(1))  # 取出第一行数据
    
    
    for i in range(1, 81):
    
        print(table.row_values(i))

    2.写excel ---openpyxl

    #
    from openpyxl import Workbook
    
    
    wb = Workbook()  # 先生成一个工作簿
    wb1 = wb.create_sheet('index3',0)  # 创建一个表单页  后面可以通过数字控制位置
    wb2 = wb.create_sheet('index1')
    wb1.title = 'login'  # 后期可以通过表单页对象点title修改表单页名称
    
    wb1['A3'] = 666
    wb1['A4'] = 444
    wb1.cell(row=6,column=3,value=88888888)
    wb1['A5'] = '=sum(A3:A4)'
    #
    # wb2['G6'] = 999
    wb1.append(['username','age','hobby'])
    
    wb1.append(['nick',28,])
    wb1.append(['nick','','秃头'])
    
    # 保存新建的excel文件
    wb.save('吴凯.xlsx')

    3.写文件 xlwt

                import xlwt
    
                #  创建一个workbook 设置编码
                workbook = xlwt.Workbook(encoding='utf-8')
    
                # 创建一个worksheet
                worksheet = workbook.add_sheet('sheet')
    
                worksheet.write(0, 0, label='核心参数')
                worksheet.write(0, 1, label='参数1')        
                workbook.save('lichuang.xls')

     4.with open 操作excel

    import csv
    
    with open('data.csv', 'a', newline="",encoding='utf-8') as filecsv:
        csvwriter = csv.writer(filecsv, delimiter=',')
        csvwriter.writerow(['凯帅','美女','人才'])

     5.操作word文档

    import docx
    
    file = docx.Document("D:code客户脚本制作_guojieli出院小结.docx")
    
    print("段落数:",str(len(file.paragraphs)))
    
    # 输出每一段
    list1 = []
    for para in file.paragraphs:
        # print(para.text)
        list1.append(para.text)
    
    
    
    # 输出段落编号及段落内容
    for i in range(len(file.paragraphs)):
        print("第:"+str(i)+"段的内容是:"+file.paragraphs[i].text)

     6.excel格式操作

    from openpyxl import Workbook
    from openpyxl.styles import Alignment,PatternFill
    
    wb = Workbook()
    
    wb1 = wb.create_sheet('sh', 0)
    
    wb1.merge_cells("A1:A2") # 合并表单
    
    # wb1.merge_cells("A2:C2")
    # wb1.merge_cells("A1:A2")
    
    wb1.cell(1, 1).value = '你就是个大石坝' # 表单赋值
    wb1['A1'].fill = PatternFill(fgColor="00C0C0C0", fill_type='solid') #  修改颜色
    wb1['A1'].alignment = Alignment(horizontal="center", vertical="center") # 合并居中
    wb1.row_dimensions[3].height = 20 # 加高
    wb1.column_dimensions['D1'].width = 30 # 加宽
    # wb1.cell(1, 2).value = '2'
    # wb1.cell(1, 3).value = '3'
    # wb1.cell(2, 1).value = '4'
    # wb1.cell(2, 2).value = '5'
    # wb1.cell(2, 3).value = '6'
    # wb1.merge_cells("A1:D2")
    
    
    # wb1.append(["美女"])
    nows = wb1.max_row
    print(nows)
    # wb1.append(["帅哥"])
    nows = wb1.max_row
    print(nows)
    wb.save('data.xlsx')

    7.操作pdf

    # import importlib, sys
    # importlib.reload(sys)
    from pdfminer.pdfparser import PDFParser, PDFDocument
    from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
    from pdfminer.converter import PDFPageAggregator
    from pdfminer.layout import LTTextBoxHorizontal, LAParams
    from pdfminer.pdfinterp import PDFTextExtractionNotAlloweddef parse(DataIO):
        # 用文件对象创建一个PDF文档分析器
        parser = PDFParser(DataIO)
        # 创建一个PDF文档
        doc = PDFDocument()
        # 分析器和文档相互连接
        parser.set_document(doc)
        doc.set_parser(parser)
        # 提供初始化密码,没有默认为空
        doc.initialize()
        # 检查文档是否可以转成TXT,如果不可以就忽略
        if not doc.is_extractable:
            raise PDFTextExtractionNotAllowed
        else:
            # 创建PDF资源管理器,来管理共享资源
            rsrcmagr = PDFResourceManager()
            # 创建一个PDF设备对象
            laparams = LAParams()
            # 将资源管理器和设备对象聚合
            device = PDFPageAggregator(rsrcmagr, laparams=laparams)
            # 创建一个PDF解释器对象
            interpreter = PDFPageInterpreter(rsrcmagr, device)
            # 循环遍历列表,每次处理一个page内容
            # doc.get_pages()获取page列表
            for page in doc.get_pages():
                interpreter.process_page(page)
                # 接收该页面的LTPage对象
                layout = device.get_result()
                str = ""
                for x in layout:
                    try:
                        if (isinstance(x, LTTextBoxHorizontal)):
                            result = x.get_text()
                            str = str + result
                            # print(result)
                    except:
                        print("Failed")
          
                # time.sleep(20)
    
    def main():
        with open(r'D:code客户pdf转excel提取_穷人也要买东东Supplier release 232492 20200807201958.PDF', 'rb') as pdf_html:
            parse(pdf_html)
    
    main()
  • 相关阅读:
    httpd设置HTTPS双向认证
    crossdomain.xml的配置详解
    hibernate中的merge()方法
    解决java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver问题
    oracle自定义函数:将使用点分隔符的编码转成层级码格式的编码
    jsp页面科学计数法显示问题的解决办法
    javascript检索某个字符或字符串在源字符串中的位置(下标)
    webwork遍历数组标签
    过多得操作DOM会降低WEB应用的性能
    vue中$refs的用法及作用详解
  • 原文地址:https://www.cnblogs.com/wukai66/p/12814504.html
Copyright © 2011-2022 走看看