Convert Pandas DataFrame to Excel

Convert Pandas DataFrame to Excel via json data

Here’s an example code snippet to demonstrate how to import data from a pandas DataFrame to an Excel file using Aspose.Cells for Python via .NET:

  1. Create a sample pandas DataFrame data.
  2. Use the pandas library to convert the DataFrame data into JSON data.
  3. Import JSON data using Aspose.Cells for Python via .NET.
import pandas as pd
from aspose.cells.utility import JsonUtility, JsonLayoutOptions
from aspose.cells import Workbook, Worksheet, Cells
# Create a sample pandas DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
# Convert pandas DataFrame to JSON
json_string = df.to_json(orient='records')
workbook = Workbook()
# Get the first worksheet
worksheet = workbook.worksheets[0]
# Get the cells
cells = worksheet.cells
options = JsonLayoutOptions()
unit = JsonUtility()
# Processes as table.
options.array_as_table = True
unit.import_data(json_string, cells, 0, 0, options)
workbook.save("out.xlsx")

Convert Pandas DataFrame to Excel directly

Here’s an example code snippet to demonstrate how to import data from a pandas DataFrame to an Excel file using Aspose.Cells for Python via .NET:

  1. Create a sample pandas DataFrame data.
  2. Traverse DataFrame and import data using Aspose.Cells for Python via .NET.
import pandas as pd
import aspose.cells
from aspose.cells import Workbook, CellsHelper, License
workbook = Workbook()
# Get the first worksheet
worksheet = workbook.worksheets[0]
# Get the cells
cells = worksheet.cells
# create a sample DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'city': ['New York', 'Paris', 'London', 'Berlin']}
df = pd.DataFrame(data)
rowindex = 0
colindex = 0
for column in df:
cell = cells.get(rowindex, colindex)
cell.put_value(df[column].name)
colindex += 1
for index, row in df.iterrows():
rowindex += 1
colindex = 0
cell = cells.get(rowindex, colindex)
cell.put_value(row["name"])
colindex += 1
cell = cells.get(rowindex, colindex)
cell.put_value(row["age"])
colindex += 1
cell = cells.get(rowindex, colindex)
cell.put_value(row["city"])
colindex += 1
workbook.save("out.xlsx")