Como salvar planilhas como CSV em Python

Como salvar planilhas como CSV em Python

O problema é que…

Salve uma pasta de trabalho do Excel (.xlsx) como um arquivo CSV usando Aspose.Cells FOSS em Python. Carregue a pasta com Workbook(),Então , liga-me . save_as_csv() para escrever a planilha ativa em um arquivo de valores separados por vírgulas. Opcionalmente, passe uma CSVSaveOptions Objeto para controlar o comportamento delimitador, codificação e citação.

Precondições

Para salvar planilhas como CSV usando Aspose.Cells FOSS em Python, certifique-se de que seu ambiente atenda aos seguintes requisitos.

  • Python 3.7 ou posterior instalado.
  • Instalar Aspose.Cells FOSS através de pip install aspose-cells-foss>=26.3.1
  • Importar a biblioteca usando: from aspose.cells_foss import Workbook
  • Familiaridade básica com o processamento de arquivos Python

Medidas de poupança

Passo 1: Instalar a Biblioteca

Instalar Aspose.Cells FOSS a partir de PyPI. Não é necessário arquivo de licença para o uso do Foss.

pip install aspose-cells-foss

Passo 2: Carregar o livro de trabalho

Instanciar Workbook com o caminho para um sistema existente. .xlsx O constructor aceita um opcional password Parâmetro para quadros de trabalho protegidos.

from aspose.cells_foss import Workbook

workbook = Workbook("input.xlsx")

Para trabalhar com uma nova pasta de trabalho, omita o caminho do arquivo:

from aspose.cells_foss import Workbook

workbook = Workbook()
worksheet = workbook.worksheets[0]

# Populate some cells
worksheet.cells["A1"].value = "Product"
worksheet.cells["B1"].value = "Price"
worksheet.cells["A2"].value = "Widget"
worksheet.cells["B2"].value = 9.99
worksheet.cells["A3"].value = "Gadget"
worksheet.cells["B3"].value = 24.95

Passo 3: Salvar a folha ativa como CSV

Chama-me . Workbook.save_as_csv() O método escreve a primeira folha de cálculo (ativa) por padrão.

workbook.save_as_csv("output.csv")

Em alternativa, use o medicamento genérico: Workbook.save() método Aspose.Cells FOSS deduz o formato CSV do .csv extensão:

workbook.save("output.csv")

Ambas as chamadas produzem saída idêntica quando não são necessárias opções personalizadas.

Passo 4: Salvar com opções CSV

Workbook.save_as_csv() aceita uma opção de CSVSaveOptions O artigo 85.o do Tratado CE é aplicável a todos os Estados-Membros. CSVSaveOptions de: aspose.cells_foss.csv_handler e passar diretamente para controlar o comportamento das exportações, como a escolha de um delimitador ou codificação não padrão.

from aspose.cells_foss import Workbook
from aspose.cells_foss.csv_handler import CSVSaveOptions

workbook = Workbook("input.xlsx")

# Create options instance — configure attributes per your environment's needs
options = CSVSaveOptions()

workbook.save_as_csv("output_custom.csv", options)

Quando não . CSVSaveOptions é aprovado, save_as_csv() usa os padrões da biblioteca (delimitar vírgula, codificação UTF-8). Passe o objeto de opções sempre que você precisar analisar esses padronizados programaticamente.

Passo 5: Exportar uma planilha específica

Quando uma pasta de trabalho contém várias folhas, a folha ativa é exportada. Use Workbook.set_active_worksheet() para escolher a folha que exportar antes de guardar.

from aspose.cells_foss import Workbook

workbook = Workbook("multi_sheet.xlsx")

# Export the second worksheet (index 1)
workbook.set_active_worksheet(1)
workbook.save_as_csv("sheet2_output.csv")

Para exportar cada folha para o seu próprio arquivo CSV, iterar sobre workbook.worksheets:

from aspose.cells_foss import Workbook

workbook = Workbook("multi_sheet.xlsx")

for index in range(len(workbook.worksheets)):
    ws = workbook.get_worksheet_by_index(index)
    workbook.set_active_worksheet(index)
    workbook.save_as_csv(f"sheet_{ws.name}.csv")

Exemplo completo

O exemplo autônomo a seguir cria uma pasta de trabalho, preenche-a com dados de amostra e salva-o como um CSV padrão e um CVCS definido por pontos.

from aspose.cells_foss import Workbook
from aspose.cells_foss.csv_handler import CSVSaveOptions

# Create workbook and populate data
workbook = Workbook()
worksheet = workbook.worksheets[0]

headers = ["Name", "Department", "Salary"]
rows = [
    ["Alice", "Engineering", 95000],
    ["Bob",   "Marketing",   72000],
    ["Carol", "Finance",     81000],
]

for col, header in enumerate(headers):
    col_letter = chr(ord("A") + col)
    worksheet.cells[f"{col_letter}1"].value = header

for row_idx, row in enumerate(rows, start=2):
    for col_idx, val in enumerate(row):
        col_letter = chr(ord("A") + col_idx)
        worksheet.cells[f"{col_letter}{row_idx}"].value = val

# Save as standard CSV (default options)
workbook.save_as_csv("employees.csv")

# Save with explicit CSVSaveOptions instance
options = CSVSaveOptions()
workbook.save_as_csv("employees_custom.csv", options)

print("CSV files written successfully.")

Problemas comuns

Arquivo de saída vazio

Se o CSV de saída estiver vazio ou conter apenas linhas vazias, verifique se os valores das células foram atribuídos antes da chamada. save_as_csv().O método exporta a folha de cálculo ativa confirma que a página correta está activa usando o código-fonte . workbook.get_active_worksheet().

Problemas de codificação (caráteres confusos)

Ao abrir um CSV no Excel e ver caracteres corrompidos, verifique a codificação usada durante a exportação. Aspose.Cells FOSS padrões para UTF-8; O Excel no Windows pode esperar que uma marca de ordem de bytes (BOM) reconheça a código correctamente. Configure a cópia via CSVSaveOptions E passar para o save_as_csv().

Livros de trabalho com várias folhas Exportar apenas uma folha

CSV é um formato de tabela única; apenas uma planilha pode ser salva por arquivo. Exporte cada folha individualmente usando o código-fonte: set_active_worksheet(index) como mostrado na etapa 5.

Células que contêm o delimitador

Se um valor de célula contém o caracter delimitar (por exemplo, uma vírgula na saída com virguela), Aspose.Cells FOSS cita automaticamente o valor durante a exportação. Use CSVSaveOptions Adaptar o comportamento de cotação, se necessário.

FAQ

P: Sim. workbook.save("output.csv") produzir o mesmo resultado que a save_as_csv()?

  • Sim, é verdade. Workbook.save() Inspecciona a extensão do ficheiro e delega à Comissão os poderes de elaboração dos documentos. save_as_csv() quando a extensão for .csv.- Ligue. save_as_csv() Diretamente e passar um CSVSaveOptions exemplo, quando você precisa personalizar a exportação para além das predefinições embutidas.

P: Posso exportar para uma cadeia de caracteres CSV em vez de um arquivo?

Sim, usa. CSVHandler.save_csv_to_string(workbook, options) de: aspose.cells_foss.csv_handler. Isto retorna o conteúdo CSV como uma cadeia Python, que você pode registrar, carregar ou processar sem tocar no sistema de arquivos.

from aspose.cells_foss import Workbook
from aspose.cells_foss.csv_handler import CSVHandler, CSVSaveOptions

workbook = Workbook("input.xlsx")
csv_string = CSVHandler.save_csv_to_string(workbook, CSVSaveOptions())
print(csv_string)

P: Como posso carregar um CSV de volta a uma pasta de trabalho depois da salvação?

Utilização: Workbook.load_csv("file.csv") sobre uma situação existente. Workbook instância, ou chamar a função de conveniência load_csv_workbook("file.csv") de: aspose.cells_foss.csv_handler para obter um livro de trabalho pronto a usar em uma só etapa.

P: Que versões do Python são suportadas?

Aspose.Cells FOSS requires Python 3.7 or later. No additional native extensions are needed for CSV export; the library is pure Python.

P: Posso salvar apenas parte de uma planilha (uma gama de células) como CSV?

Aspose.Cells FOSS exports the full used range of the active worksheet. To restrict output to a specific range, copy the desired cells into a temporary workbook and export that workbook.

Ver também:

 Português