Att arbeta med Excel-data i Python kräver ofta att man extraherar specifika rader och kolumner i listformat. Att konvertera ett Excel-intervall till en Python-lista är mycket användbart för uppgifter som:

  • Dataanalys med Pandas och NumPy
  • Automatisering av rapportering och ETL-processer
  • Integration med maskininlärningsmodeller eller API:er

I den här artikeln kommer vi att lära oss hur man konverterar ett definierat Excel-område till en lista i Python steg för steg.

Python Excel till Lista Konverterare Bibliotek

Istället för att manuellt bearbeta Excel-filer kan utvecklare använda Aspose.Cells för Python via .NET, ett kraftfullt bibliotek för att konvertera Excel till List. Det gör det inte bara enklare att extrahera områden, rader och kolumner till Python-listor utan stöder också avancerade funktioner som formler, formatering, diagram och pivottabeller, vilket säkerställer noggrannhet även med komplexa kalkylark.

Innan du kodar, se till att din miljö är klar:

  1. Installera Python 3.7+.
  2. Download Aspose.Cells from releases eller installera det med pip:
pip install aspose-cells-python
  1. Förbered en prov Excel-fil (sampledata.xlsx) med följande innehåll:
Konvertera Excel till lista i Python: Exempeldatafil

Exempel Excel-dataprogram.

Konvertera Excel-område till Python-lista: Steg-för-steg-guide

Låt oss gå igenom processen att konvertera ett intervall av Excel-data till en Python-lista med hjälp av Aspose.Cells för Python.

Följ stegen nedan för att omvandla ett Excel-område till en lista i Python:

  1. Först, ladda den befintliga Excel-filen med hjälp av Workbook-klassen.
  2. Andra, hämta det första kalkylbladet.
  3. Nästa, skapa ett intervall, t.ex. A1 till C4.
  4. Efter det, konvertera Range till en Python-lista.
  5. Slutligen, skriv ut listan.

Följande Python-skript laddar Excel-filen, definierar ett område och konverterar det till en Python-lista.

from aspose.cells import Workbook

# Steg 1: Ladda Excel-arbetsboken
book = cells.Workbook("sample_data.xlsx")

# Steg 2: Åtkomst till det första kalkylbladet
sheet1 = book.worksheets.get(0)

# Steg 3: Definiera intervallet (A1:C4 i det här exemplet)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# Steg 4: Konvertera intervallet till en nästlad Python-list
range_list = []
for row_index in range(range_obj.first_row, range_obj.first_row + range_obj.row_count):
    row = []
   for column_index in range(range_obj.first_column, range_obj.first_column + range_obj.column_count):
        curr_cell = sheet_cells.check_cell(row_index, column_index)
        row.append(curr_cell.value if curr_cell else "")
    range_list.append(row)

# Steg 5: Skriv ut Python-listan
print("Python List Output:")
print(range_list)

Output

Python List Output:
[['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036], ['Detroit', 'Central', 3074]]

Det här fullständiga skriptet visar hur man extraherar data från Excel och konverterar det till en Python-lista. Efter det kan det enkelt omvandlas till Pandas eller JSON beroende på dina krav.

Konvertera Python-lista till Pandas DataFrame

Med Pandas kan du direkt omvandla listan till en DataFrame:

import pandas as pd

# Convert to a Pandas DataFrame
df = pd.DataFrame(range_list[1:], columns=range_list[0])
print(df)

Pandas DataFrame-output:

       City   Region  Store
0   Chicago  Central   3055
1  New York     East   3036
2   Detroit  Central   3074

Spara Python-lista som JSON

Du kan också exportera datan som JSON:

import json

# Convert to JSON
json_output = json.dumps(range_list)
print(json_output)

JSON Output:

[["City", "Region", "Store"], ["Chicago", "Central", 3055], ["New York", "East", 3036], ["Detroit", "Central", 3074]]

Convert Excel Rad till Lista i Python

Ibland vill du kanske extrahera bara en enskild rad från Excel och lagra den som en lista. Så här gör du det med Aspose.Cells:

  1. Ladda Excel-arbetsboken.
  2. Access the target worksheet.
  3. Välj raden med index.
  4. Samla radvärden i en Python-lista.
# Import Aspose.Cells-biblioteket
from aspose.cells import Workbook

# Steg 1: Ladda Excel-arbetsboken från fil
book = Workbook("sample_data.xlsx")

# Steg 2: Få åtkomst till det första kalkylbladet i arbetsboken
sheet = book.worksheets.get(0)

# Steg 3: Definiera radindex (0 = första raden, som innehåller rubriker)
row_index = 0
cells = sheet.cells

# Skapa ett intervallobjekt för den valda raden
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# Steg 4: Konvertera raden till en Python-lista
row_list = []
for column_index in range(row_range.first_column, row_range.first_column + row_range.column_count):
    curr_cell = cells.check_cell(row_index, column_index)  # Get each cell in the row
    row_list.append(curr_cell.value if curr_cell else "")  # Append value or empty string if cell is blank

# Skriv ut den extraherade raden som en lista
print("Row to List:", row_list)

Output:

Row to List: ['City', 'Region', 'Store']

Konvertera Excel-kolumn till lista i Python

Du kan också extrahera en enda kolumn till en lista. Till exempel, låt oss konvertera Region-kolumnen till en lista:

  1. Ladda arbetsboken och arbetsbladet.
  2. Välj kolumnen efter index.
  3. Traversera varje rad i kolumnen.
  4. Samla kolumnvärden i en lista.
# Import Aspose.Cells-biblioteket
from aspose.cells import Workbook

# Steg 1: Ladda Excel-arbetsboken från fil
book = Workbook("sample_data.xlsx")

# Åtkomst till det första kalkylbladet i arbetsboken
sheet = book.worksheets.get(0)

# Steg 2: Definiera kolumnindexet (0 = första kolumnen, dvs. Kolumn A)
col_index = 0
cells = sheet.cells

# Skapa ett interväresobjekt för den valda kolumnen
# Parametrar: (startrad, startkolumn, totalrader, totalkolumner)
# Här, börja på rad 0, välj colindex, inkludera alla rader, och bredd = 1 kolumn
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# Steg 3 och 4: Konvertera kolumnen till en Python-lista
col_list = []
for row_index in range(col_range.first_row, col_range.first_row + col_range.row_count):
    curr_cell = cells.check_cell(row_index, col_index)  # Get each cell in the column
    if curr_cell:  # Only add if the cell exists (ignore empty rows)
        col_list.append(curr_cell.value)

# Skriv ut den extraherade kolumnen som en lista
print("Column to List:", col_list)

Output:

Column to List: ['City', 'Chicago', 'New York', 'Detroit']

Få en gratis licens

Utvärdera Aspose.Cells för Python via .NET utan begränsningar. Begär en gratis tillfällig licens från licenssidan.Applicera den i din kod för att ta bort utvärderingsbegränsningar. Testa varje funktion, inklusive DF till Excel, diagram, formler och stora filer.

Excel till Lista: Gratis Resurser

Använd följande resurser för att fördjupa din kunskap, stärka din förståelse och få praktiska insikter som kan hjälpa dig att tillämpa det du lär dig mer effektivt.

Slutsats

Vi demonstrerade hur man konverterar Excel-data till Python-listor genom att extrahera intervall, rader och kolumner med Aspose.Cells för Python via .NET. När datan är i listformat kan den användas för Pandas, JSON eller andra bearbetningsuppgifter. Även om bibliotek som openpyxl eller pandas.readexcel kan extrahera intervall, ger Aspose.Cells mer kontroll över formler, formatering, diagram och sammanfogade celler, vilket gör det till det bättre valet för komplexa Excel-operationer.

Om du behöver hjälp eller har några frågor, tveka inte att kontakta oss på vårt Aspose.Cells Free Support Forum.Vårt team hjälper gärna till.

Se även