美文网首页
Python读写Excel和PDF表格

Python读写Excel和PDF表格

作者: dpjdrniu | 来源:发表于2020-05-09 16:55 被阅读0次

    python读写Excel有xlwt和xlrd库,但是:
    xlwt只能写新的单元格,不能更新已写过的单元格;
    xlrd只能读已有内容的单元格,未写内容的单元格读不了。
    方案:用xlutils.copy库,可以实现写新的单元格,和更新新入已有内容的单元格。
    rb = xlrd.open_workbook(filename)
    wb = copy(rb)
    ws = wb.get_sheet(sheetname)
    ws.write(x,y,content)

    python读PDF表格pdfplumber库好用

    现有需求,读取中国现有化学品名录pdf表格,写入Excel。问题难点:
    1.在原PDF中,在换页处一个单元格内容太长会在第二页另起一行,要把这种情况的两行合并成一行。
    2.表头只要一行,后续页的表头行不再写入Excel。
    代码:

    import pdfplumber
    import xlwt 
    import xlrd                          
    from xlutils.copy import copy  
    filename='test'+'.xlsx'
    sheetname='chemistry' 
    #先用xlwt建立个空xlsx
    myWorkbook=xlwt.Workbook()
    mySheet1=myWorkbook.add_sheet(sheetname)
    myWorkbook.save(filename)
    #再用xlrd和xlutils,进行写入,可进行单元格改写,xlwt是不行的
    rb = xlrd.open_workbook(filename)
    wb = copy(rb)  
    ws = wb.get_sheet(sheetname)
    
    pdf = pdfplumber.open(r"C:\Users\Administrator\Desktop\名录2013年版.pdf")
    table = pdf.pages[2].extract_table()
    i,j=0,0
    for l in table[0]:
        ws.write(i,j,l)
        j+=1
    R=0
    wb.save(filename)
    for i in range(2,4058):
        rb = xlrd.open_workbook(filename)
        wb = copy(rb)  
        ws = wb.get_sheet(sheetname)
        st=rb.sheet_by_name(sheetname)    
        
        page=pdf.pages[i]
        table=page.extract_table()
        flag=0    
        for r in range(R,R+len(table)-1):
            if not table[1+r-R][0]:
                flag=1
                for c in range (len(table[0])):                
                    ws.write(r,c,st.cell(r,c).value+table[r+1-R][c])
            else:
                if flag==1:
                    for c in range (len(table[0])):              
                        ws.write(r,c,table[1+r-R][c])
                else:  
                    for c in range (len(table[0])):              
                        ws.write(r+1,c,table[1+r-R][c]) 
        R+=len(table)-1-flag
        wb.save(filename)
    

    相关文章

      网友评论

          本文标题:Python读写Excel和PDF表格

          本文链接:https://www.haomeiwen.com/subject/ctnknhtx.html