
Le tabelle di Word sono utili per organizzare i dati, ma possono diventare scomode quando è necessario modificarne il contenuto come testo normale. Se non hai più bisogno della struttura della tabella, puoi convertire una tabella in testo utilizzando lo strumento integrato di Word o automatizzare il processo con Python. Questa guida illustra i passaggi dettagliati per entrambi i metodi, diamo un'occhiata.
- Convertire una tabella in testo in Word con uno strumento integrato
- Convertire tabelle Word in testo con Python
- Esportare i dati della tabella in un file TXT esterno
- Domande frequenti (FAQ)
Convertire una tabella in testo in Word con uno strumento integrato
Microsoft Word fornisce uno strumento integrato per convertire le tabelle in testo. Se devi convertire solo una o due tabelle, lo strumento integrato è solitamente l'opzione più rapida. Rimuove la struttura della tabella e converte il contenuto delle celle in testo normale.
Come trasformare una tabella in testo in MS Word:
- Passaggio 1: Fai clic in un punto qualsiasi all'interno della tabella per visualizzare la scheda contestuale Layout tabella sulla barra multifunzione in alto.
- Passaggio 2: Vai alla scheda Layout tabella nel menu in alto e fai clic sul pulsante Converti in testo nel gruppo Dati.

- Passaggio 3: Seleziona il delimitatore preferito (tabulazioni, virgole, segni di paragrafo o un carattere personalizzato) per separare i valori delle colonne.

- Passaggio 4: Fai clic su OK per trasformare istantaneamente la tabella in normali paragrafi di testo.
Conversione in testo vs. Nascondere i bordi
Nascondere i bordi della tabella cambia solo l'aspetto della tabella. Le celle, le colonne e la struttura della tabella rimangono al loro posto, quindi il contenuto è ancora vincolato dal layout della tabella.
Convertire la tabella in testo rimuove la struttura della tabella e trasforma il contenuto delle celle in normali paragrafi. È quindi possibile modificare e formattare il contenuto senza il layout della tabella.
Convertire tabelle Word in testo con Python
Lo strumento integrato di Word è comodo per convertire singole tabelle, ma diventa meno pratico quando è necessario elaborare molti documenti o tabelle. Per gli sviluppatori Python, Free Spire.Doc for Python offre un modo per automatizzare la conversione da tabella a testo senza richiedere l'installazione di Microsoft Word.
Convertire una tabella in testo
Lo script legge il testo da ogni cella, unisce le celle nella stessa riga con caratteri di tabulazione, inserisce i paragrafi risultanti dove si trovava la tabella e quindi rimuove la tabella originale.
from spire.doc import *
from spire.doc.documents import *
# Inizializza l'istanza del documento e carica il file di destinazione
doc = Document()
doc.LoadFromFile("input.docx")
# Ottieni la prima sezione e la tabella di destinazione
section = doc.Sections[0]
if section.Tables.Count > 0:
table = section.Tables[0]
# Estrai il testo dalle celle riga per riga
text_lines = []
for j in range(table.Rows.Count):
row = table.Rows.get_Item(j)
row_cells_text = []
for k in range(row.Cells.Count):
cell = row.Cells.get_Item(k)
# Estrai il testo dai paragrafi della cella
cell_text_pieces = []
for p in range(cell.Paragraphs.Count):
para_obj = cell.Paragraphs.get_Item(p)
if para_obj.Text:
cell_text_pieces.append(para_obj.Text.strip())
row_cells_text.append(" ".join(cell_text_pieces))
# Unisci il testo delle celle usando i separatori di tabulazione
text_lines.append("\t".join(row_cells_text))
# Individua la tabella all'interno del suo blocco padre
owner_block = table.OwnerTextBody
table_index = owner_block.ChildObjects.IndexOf(table)
# Inserisci nuovi paragrafi di testo nell'esatta posizione della tabella
for line in reversed(text_lines):
temp_para = section.AddParagraph()
temp_para.Text = line
section.Paragraphs.Remove(temp_para)
owner_block.ChildObjects.Insert(table_index, temp_para)
# Rimuovi completamente la struttura della tabella dalla struttura del documento
owner_block.ChildObjects.Remove(table)
# Salva il documento aggiornato
doc.SaveToFile("1st table to text.docx", FileFormat.Docx2016)
doc.Close()

Nota: Più paragrafi all'interno della stessa cella vengono combinati in un'unica riga separata da spazi.
Elaborazione in batch di tutte le tabelle
Per convertire tutte le tabelle in un documento in testo, riutilizza la logica di conversione dell'esempio precedente e applicala a ogni tabella in ogni sezione. Poiché ogni tabella viene rimossa dopo la conversione, le tabelle dovrebbero essere elaborate in ordine inverso. In caso contrario, l'eliminazione di una tabella sposta gli indici delle tabelle rimanenti, il che potrebbe causare il salto di tabelle o errori di indice.
from spire.doc import *
from spire.doc.documents import *
# Crea un oggetto Document e carica un file Word
doc = Document()
doc.LoadFromFile("input.docx")
# Itera attraverso ogni sezione nel documento
for s_idx in range(doc.Sections.Count):
section = doc.Sections[s_idx]
# Itera all'indietro attraverso le tabelle per evitare problemi di spostamento dell'indice
table_count = section.Tables.Count
for t_idx in range(table_count - 1, -1, -1):
table = section.Tables.get_Item(t_idx)
# Raccogli il testo da tutte le righe e celle
text_lines = []
for j in range(table.Rows.Count):
row = table.Rows.get_Item(j)
row_cells_text = []
for k in range(row.Cells.Count):
cell = row.Cells.get_Item(k)
cell_text_pieces = []
for p in range(cell.Paragraphs.Count):
para_obj = cell.Paragraphs.get_Item(p)
if para_obj.Text:
cell_text_pieces.append(para_obj.Text.strip())
row_cells_text.append(" ".join(cell_text_pieces))
text_lines.append("\t".join(row_cells_text))
# Sostituisci il nodo della tabella con paragrafi semplici sul posto
owner_block = table.OwnerTextBody
table_index = owner_block.ChildObjects.IndexOf(table)
for line in reversed(text_lines):
temp_para = section.AddParagraph()
temp_para.Text = line
section.Paragraphs.Remove(temp_para)
owner_block.ChildObjects.Insert(table_index, temp_para)
# Rimuovi in sicurezza la tabella corrente
owner_block.ChildObjects.Remove(table)
# Salva il file finale
doc.SaveToFile("all tables to text.docx", FileFormat.Docx2016)
doc.Close()

Suggerimento: Esportare i dati della tabella in un file TXT esterno
In molti flussi di lavoro di pipeline di dati, l'obiettivo è ottenere informazioni piuttosto che modificare i file di layout originali. Se hai bisogno solo di testo tabulare per l'inserimento in database, la registrazione o l'archiviazione in testo semplice, è ancora più semplice. Puoi estrarre rapidamente il contenuto grezzo delle celle e scriverlo direttamente in un file di testo esterno con Free Spire.Doc.
Esempio di codice
from spire.doc import *
from spire.doc.common import *
# Crea un'istanza Document
doc = Document()
# Carica un documento Word
doc.LoadFromFile("input.docx")
# Ottieni la prima tabella
table = doc.Sections[0].Tables[0]
# Estrai il testo della tabella
tableData = ''
for j in range(table.Rows.Count):
row = table.Rows.get_Item(j)
for k in range(row.Cells.Count):
cell = row.Cells.get_Item(k)
for p in range(cell.Paragraphs.Count):
tableData += cell.Paragraphs.get_Item(p).Text + ' '
if k < row.Cells.Count - 1:
tableData += '\t'
tableData += '\n'
# Salva il testo estratto in un file TXT
with open("/table_text.txt", "w", encoding="utf-8") as f:
f.write(tableData)
doc.Close()

Suggerimento: Per dati tabulari strutturati, puoi anche convertire le tabelle Word in CSV per l'uso in fogli di calcolo, database e altri flussi di lavoro di elaborazione dati.
Domande frequenti (FAQ)
D1: Cosa devo fare se il testo convertito appare disallineato?
L'uso delle tabulazioni (\t) preserva al meglio la spaziatura strutturale. Se l'allineamento delle colonne appare ancora irregolare in Word, seleziona i paragrafi convertiti e regola le Tabulazioni sul righello orizzontale.
D2: Come posso riconvertire il testo in una tabella in Word?
Per invertire il processo, evidenzia il testo, vai su Inserisci > Tabella e fai clic su Converti testo in tabella. Seleziona il delimitatore corrispondente (ad esempio, tabulazioni o virgole) per ricostruire la tabella.
D3: Qual è il tasto di scelta rapida per convertire una tabella in testo in Word?
Microsoft Word non fornisce una scorciatoia da tastiera dedicata per Converti in testo. Puoi accedere al comando tramite la barra multifunzione o personalizzare una scorciatoia tramite le impostazioni della tastiera di Word.
Riepilogo
Questo articolo ha introdotto due modi per convertire le tabelle nei documenti Word in testo. Lo strumento integrato di Word funziona bene per singole tabelle o un numero limitato di documenti, mentre Free Spire.Doc for Python è più adatto all'elaborazione automatizzata di più tabelle. Puoi anche estrarre il contenuto della tabella in un file TXT per l'archiviazione in testo semplice o per un'ulteriore elaborazione.