
jose francisco padilla de la cruz
Preguntacordial saludo, gracias por compartir tus aprendizajes. para leer y escribir archivos de word y excel necesito alguna librería en especial y cual seria? gracias

Alberto Perdomo
Para manejar archivos excel lo puedes hacer con openpyxl. Para manejar archivos con word lo puedes hacer con python-docx.
Con python-docx
para leer documentos:
import docx doc = docx.Document('demo.docx') len(doc.paragraphs) doc.paragraphs[0].text len(doc.paragraphs[1].runs) doc.paragraphs[1].runs[0].text
Para obtener el texto completo
import docx def getText(filename): doc = docx.Document(filename) fullText = [] for para in doc.paragraphs: fullText.append(para.text) return '\n'.join(fullText) print(getText('demo.docx'))
Para escribir un archivo
import docx doc = docx.Document() doc.add_paragraph('Hello world!') doc.save('helloworld.docx')
Para añadir encabezados
doc = docx.Document() doc.add_heading('Header 0', 0)
Para añadir saltos de pagina y lineas
doc = docx.Document() doc.add_paragraph('This is on the first page!') doc.add_paragraph('This is on the second page!') doc.save('twoPage.docx')
Para añadir imagenes
doc.add_picture('zophie.png', width=docx.shared.Inches(1), height=docx.shared.Cm(4))
Con openpyxl
Para abrir un archivo
from openpyxl import load_workbook wb2 = load_workbook('test.xlsx') print wb2.sheetnames
Para manejar hojas de cálculo
import openpyxl wb = openpyxl.load_workbook('example.xlsx') wb.sheetnames sheet = wb['Sheet3']
Para escribir un archivo
from openpyxl import Workbook from openpyxl.compat import range from openpyxl.utils import get_column_letter wb = Workbook() dest_filename = 'empty_book.xlsx' ws1 = wb.active ws1.title = "range names" for row in range(1, 40): ... ws1.append(range(600)) ws2 = wb.create_sheet(title="Pi") ws2['F5'] = 3.14 ws3 = wb.create_sheet(title="Data") for row in range(10, 20): ... for col in range(27, 54): ... _ = ws3.cell(column=col, row=row, value="{0}".format(get_column_letter(col))) print(ws3['AA10'].value) wb.save(filename = dest_filename)
Para usar formulas
from openpyxl import Workbook wb = Workbook() ws = wb.active # add a simple formula ws["A1"] = "=SUM(1, 1)" wb.save("formula.xlsx")
Para combinar tablas
from openpyxl.workbook import Workbook wb = Workbook() ws = wb.active ws.merge_cells('A2:D2') ws.unmerge_cells('A2:D2') # or equivalently ws.merge_cells(start_row=2, start_column=1, end_row=4, end_column=4) ws.unmerge_cells(start_row=2, start_column=1, end_row=4, end_column=4)
Acá la documentación oficial de ambas