Book Image

Python 2.6 Text Processing: Beginners Guide

By : Jeff McNeil
Book Image

Python 2.6 Text Processing: Beginners Guide

By: Jeff McNeil

Overview of this book

<p>For programmers, working with text is not about reading their newspaper on a break; it's about taking textual data in one form and doing something to it. Extract, decrypt, parse, restructure – these are just some of the text tasks that can occupy much of a programmer's life. If this is your life, this book will make it better – a practical guide on how to do what you want with textual data in Python.</p> <p><em>Python 2.6 Text Processing Beginner's Guide</em> is the easiest way to learn how to manipulate text with Python. Packed with examples, it will teach you text processing techniques and give you the skills to work with the most popular Python libraries for transforming text from one form to another.</p> <p>The book gets you going with a quick look at some data formats, and installing the supporting libraries and components so that you're ready to get started. You move on to extracting text from a collection of sources and handling it using Python's built-in string functions and regular expressions. You look into processing structured text documents such as XML and HTML, JSON, and CSV. Then you progress to generating documents and creating templates. Finally you look at ways to enhance text output via a collection of third-party packages such as Nucular, PyParsing, NLTK, and Mako.</p>
Table of Contents (20 chapters)
Python 2.6 Text Processing Beginner's Guide
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Time for action – manually decoding


In this example, we'll create a simple file that contains some UTF-8 data that exists outside of the ASCII range. This ensures that we'll actually have some multi-byte characters. To generate the test data, point your browser to http://www.translit.ru.

  1. First, create a text file and name it russian.txt. Using the previous site, generate the following text and save the file. The file is also included in a file bundle available on the Packt FTP site.

    Example UTF-8 Multibyte:
    Текст
  2. Next, enter the following code and save it as utf_coding.py.

    #!/usr/bin/python
    
    with open('russian.txt', 'r') as ru:
        txt = ru.read()
    
    # Bytes Read
    print "Bytes: %d" % len(txt)
    
    # First, we'll decode.
    uc = txt.decode('utf-8')
    
    # Chars after decode
    print "Chars: %d" % len(uc)
  3. Finally, let's run the example code. Your output should be similar to what's seen here.

    (text_processing)$ python utf_coding.py 
    

What just happened?

We handled manual decoding of UTF-8 data. Let's walk through...