Buscar..


Ponga los datos de la lista en un archivo de Excel.

import os, sys
from openpyxl import Workbook
from datetime import datetime

dt = datetime.now()
list_values = [["01/01/2016", "05:00:00", 3], \
               ["01/02/2016", "06:00:00", 4], \
               ["01/03/2016", "07:00:00", 5], \
               ["01/04/2016", "08:00:00", 6], \
               ["01/05/2016", "09:00:00", 7]]

# Create a Workbook on Excel:
wb = Workbook()
sheet = wb.active
sheet.title = 'data'

# Print the titles into Excel Workbook:
row = 1
sheet['A'+str(row)] = 'Date'
sheet['B'+str(row)] = 'Hour'
sheet['C'+str(row)] = 'Value'

# Populate with data
for item in list_values:
    row += 1
    sheet['A'+str(row)] = item[0]
    sheet['B'+str(row)] = item[1]
    sheet['C'+str(row)] = item[2]

# Save a file by date:
filename = 'data_' + dt.strftime("%Y%m%d_%I%M%S") + '.xlsx'
wb.save(filename)

# Open the file for the user:
os.chdir(sys.path[0])
os.system('start excel.exe "%s\\%s"' % (sys.path[0], filename, ))

OpenPyXL

OpenPyXL es un módulo para manipular y crear libros de trabajo xlsx/xlsm/xltx/xltm en la memoria.

Manipulando y leyendo un libro existente:

import openpyxl as opx
#To change an existing wookbook we located it by referencing its path
workbook = opx.load_workbook(workbook_path)

load_workbook() contiene el parámetro read_only , estableciendo esto en True cargará el libro como read_only, esto es útil cuando se leen archivos xlsx más grandes:

workbook = opx.load_workbook(workbook_path, read_only=True)

Una vez que haya cargado el libro en la memoria, puede acceder a las hojas individuales utilizando workbook.sheets

first_sheet = workbook.worksheets[0]

Si desea especificar el nombre de una hoja disponible, puede usar workbook.get_sheet_names() .

sheet = workbook.get_sheet_by_name('Sheet Name')

Finalmente, se puede acceder a las filas de la hoja utilizando sheet.rows . Para iterar sobre las filas de una hoja, use:

for row in sheet.rows:
    print row[0].value

Dado que cada row en rows es una lista de Cell , use Cell.value para obtener el contenido de la Celda.

Creando un nuevo libro de ejercicios en la memoria:

#Calling the Workbook() function creates a new book in memory
wb = opx.Workbook()

#We can then create a new sheet in the wb
ws = wb.create_sheet('Sheet Name', 0) #0 refers to the index of the sheet order in the wb

Se pueden cambiar varias propiedades de la pestaña a través de openpyxl, por ejemplo el tabColor :

ws.sheet_properties.tabColor = 'FFC0CB'

Para guardar nuestro libro creado terminamos con:

wb.save('filename.xlsx')

Crear gráficos de Excel con xlsxwriter

import xlsxwriter

# sample data
chart_data = [
    {'name': 'Lorem', 'value': 23},
    {'name': 'Ipsum', 'value': 48},
    {'name': 'Dolor', 'value': 15},
    {'name': 'Sit', 'value': 8},
    {'name': 'Amet', 'value': 32}
]

# excel file path
xls_file = 'chart.xlsx'

# the workbook
workbook = xlsxwriter.Workbook(xls_file)

# add worksheet to workbook
worksheet = workbook.add_worksheet()

row_ = 0
col_ = 0

# write headers
worksheet.write(row_, col_, 'NAME')
col_ += 1
worksheet.write(row_, col_, 'VALUE')
row_ += 1

# write sample data 
for item in chart_data:
    col_ = 0
    worksheet.write(row_, col_, item['name'])
    col_ += 1
    worksheet.write(row_, col_, item['value'])
    row_ += 1

# create pie chart
pie_chart = workbook.add_chart({'type': 'pie'})

# add series to pie chart
pie_chart.add_series({
    'name': 'Series Name',
    'categories': '=Sheet1!$A$3:$A$%s' % row_,
    'values': '=Sheet1!$B$3:$B$%s' % row_,
    'marker': {'type': 'circle'}
})
# insert pie chart
worksheet.insert_chart('D2', pie_chart)

# create column chart
column_chart = workbook.add_chart({'type': 'column'})

# add serie to column chart
column_chart.add_series({
    'name': 'Series Name',
    'categories': '=Sheet1!$A$3:$A$%s' % row_,
    'values': '=Sheet1!$B$3:$B$%s' % row_,
    'marker': {'type': 'circle'}
})
# insert column chart
worksheet.insert_chart('D20', column_chart)

workbook.close()

Resultado:

introduzca la descripción de la imagen aquí

Lee los datos de excel usando el módulo xlrd

La biblioteca xlrd de Python es para extraer datos de los archivos de hoja de cálculo de Microsoft Excel (tm).

Instalación:-

pip install xlrd

O puedes usar el archivo setup.py de pypi

https://pypi.python.org/pypi/xlrd

Leyendo una hoja de Excel: - Importe el módulo xlrd y abra el archivo de Excel usando el método open_workbook ().

import xlrd
book=xlrd.open_workbook('sample.xlsx')

Consultar número de hojas en el excel.

print book.nsheets

Imprimir los nombres de las hojas

print book.sheet_names()

Obtener la hoja basada en el índice

sheet=book.sheet_by_index(1)

Leer el contenido de una celda.

cell = sheet.cell(row,col) #where row=row number and col=column number
print cell.value #to print the cell contents

Obtenga el número de filas y el número de columnas en una hoja de Excel

num_rows=sheet.nrows
num_col=sheet.ncols

Obtener hoja de excel por nombre

sheets = book.sheet_names()
cur_sheet = book.sheet_by_name(sheets[0])

Formato de archivos de Excel con xlsxwriter

import xlsxwriter

# create a new file 
workbook = xlsxwriter.Workbook('your_file.xlsx')

# add some new formats to be used by the workbook 
percent_format = workbook.add_format({'num_format': '0%'})
percent_with_decimal = workbook.add_format({'num_format': '0.0%'})
bold = workbook.add_format({'bold': True})
red_font = workbook.add_format({'font_color': 'red'})
remove_format = workbook.add_format()

# add a new sheet 
worksheet = workbook.add_worksheet() 

# set the width of column A 
worksheet.set_column('A:A', 30, )

# set column B to 20 and include the percent format we created earlier 
worksheet.set_column('B:B', 20, percent_format)

# remove formatting from the first row (change in height=None) 
worksheet.set_row('0:0', None, remove_format)

workbook.close()


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow