2010-11-11 13 views
12

Ho numeri ISBN (10 cifre e 13 cifre) senza trattini. Ora sto cercando un modo per aggiungere automaticamente quei trattini.Come applicare automaticamente la sillabazione ISBN?

ho trovato alcune informazioni utili qui: http://www.isbn.org/standards/home/isbn/international/hyphenation-instructions.asp

Ma io non sono sicuro se è fattibile a tutti, perché l'identificatore editore ha una a correre, e senza saperlo, non è forse possibile determinare le posizioni corrette per i trattini.

Qualcuno sa se è possibile in qualche modo?

Grazie mille!

risposta

7

È possibile dedurre la lunghezza dell'identificatore del publisher se si dispone dello full range tables.

Esempio 1. ISBN 0.141.439,564 mila (Penguin: Great Expectations)

  • L'identificatore di gruppo? 0 (in lingua inglese).
  • Gli intervalli publisher per questo gruppo sono 00-19, 200-699, 7000-8499, 85.000-89.999, 900.000-949.999, e 9500000-9999999
  • Le successive due cifre sono 14, che è nell'intervallo 00 -19, quindi l'editore ha 2 cifre.
  • così la forma con trattino è 0-14-143956-4

Esempio 2. ISBN 2.253.004,227 mila (Poche: Germinal)

  • L'identificatore del gruppo è 2 (lingua francese)
  • Gli intervalli di pubblicazione per questo gruppo sono 00-19, 200-349, 35000-39999, 400-699, 7000-8399, 84000-89999, 900000-949999, 9500000-9999999
  • Le successive tre cifre sono 253, che è nella r ange 200-349, per cui l'editore ha 3 cifre
  • così la forma con trattino è 2-253-00422-7

È possibile controllare l'algoritmo alla Library of Congress di ISBN hyphenation tool.

+0

OK, grazie per l'input. L'ho trovato ora e mi chiedevo se c'è un modo per determinare le posizioni dei trattini senza utilizzare la libreria completa: http://isbntools.com/details.html – Thasmo

+0

Credo che tu abbia bisogno delle tabelle dell'intera gamma, perché le gamme del publisher sono diverse per ogni gruppo. –

+0

Sì, lo temevo. xD Grazie comunque - lo rende un po 'più complicato allora. – Thasmo

2

Per Python, è possibile utilizzare la libreria python-stdnum, isbnid o isbn_hyphenate. Possono sillabare i codici ISBN e utilizzare la tabella degli intervalli menzionata nell'altra risposta.

1

Date un'occhiata a https://pypi.python.org/pypi/isbntools, che vi permetterà di codici ISBN 'sillabazione' e molto altro ancora, come l'estrazione, cleanning, trasformando, e ottenere i metadati.

Questa è una libreria (che è possibile utilizzare nel programma) ma installa diversi "script" che è possibile utilizzare dalla riga di comando.

Problemi correlati