将Excel转换为Pandas DataFrame

通过json数据将Excel转换为Pandas DataFrame

以下是一个示例代码片段,演示如何使用Aspose.Cells for Python via .NET将excel数据通过json数据导出为pandas DataFrame:

  1. 创建一个工作簿并添加一些值。
  2. 将excel数据导出为JSON字符串。
  3. 使用pandas库读取JSON数据。
import pandas as pd
from aspose.cells.utility import JsonUtility, JsonLayoutOptions
from aspose.cells import Workbook, Worksheet, Cells, JsonSaveOptions
# Create a new Aspose.Cells Workbook
workbook = Workbook()
# Get the first worksheet
worksheet = workbook.worksheets[0]
# Get the cells
cells = worksheet.cells
# Add some values
cells.get("A1").value = "Name"
cells.get("B1").value = "Age"
cells.get("C1").value = "City"
cells.get("A2").value = "Alice"
cells.get("B2").value = 25
cells.get("C2").value = "New York"
cells.get("A3").value = "Bob"
cells.get("B3").value = 30
cells.get("C3").value = "San Francisco"
cells.get("A4").value = "Charlie"
cells.get("B4").value = 35
cells.get("C4").value = "Los Angeles"
jsonSaveOptions = JsonSaveOptions()
# Save data to json string
json = JsonUtility.export_range_to_json(cells.max_display_range, jsonSaveOptions);
print(json)
# Read json string using pandas
dfData = pd.read_json(json)
print(dfData)

直接将 Pandas DataFrame 转换为 Excel

以下是一个示例代码片段,演示如何使用Aspose.Cells for Python via .NET将excel数据直接导出为pandas DataFrame:

  1. 创建一个工作簿并添加一些值。
  2. 遍历Excel数据并使用Aspose.Cells for Python via .NET将数据导出到Pandas DataFrame。
import pandas as pd
from aspose.cells import Workbook, Worksheet, Cells
# Create a new Aspose.Cells Workbook
workbook = Workbook()
# Get the first worksheet
worksheet = workbook.worksheets[0]
# Get the cells
cells = worksheet.cells
# Add some values
cells.get("A1").value = "Name"
cells.get("B1").value = "Age"
cells.get("C1").value = "City"
cells.get("A2").value = "Alice"
cells.get("B2").value = 25
cells.get("C2").value = "New York"
cells.get("A3").value = "Bob"
cells.get("B3").value = 30
cells.get("C3").value = "San Francisco"
cells.get("A4").value = "Charlie"
cells.get("B4").value = 35
cells.get("C4").value = "Los Angeles"
rowCount = cells.max_data_row
columnCount = cells.max_data_column
columnDatas = []
header_row = None
for row in cells.rows.__iter__():
if row is None:
continue
header_row = row
for cell in row.__iter__():
columnDatas.append(cell.value)
break
result = pd.DataFrame(columns=columnDatas, dtype=object)
row_index = 0
for row in cells.rows.__iter__():
if row is None:
continue
if row == header_row:
continue
row_values = []
for cell in row.__iter__():
row_values.append(cell.value)
# print(row_values)
result.loc[row_index] = row_values
row_index += 1
print(result)