Dictionaries 
       Making dictionaries 
       Dictionary operations 
             Remark 
       Example: Polynomials as dictionaries 
       Dictionaries with default values and ordering 
             Dictionaries with default values 
             Ordered dictionaries 
       Example: File data in dictionaries 
             Problem 
             Solution 
       Example: File data in nested dictionaries 
             Problem 
             Algorithm 
             Implementation 
             Dissection 
       Example: Reading and plotting data recorded at specific dates 
             Problem 
             Solution 
 Strings 
       Common operations on strings 
             Substring specification 
             Searching for substrings 
             Substitution 
             String splitting 
             Upper and lower case 
             Strings are constant 
             Strings with digits only 
             Whitespace 
             Joining strings 
       Example: Reading pairs of numbers 
             Problem 
             Solution 
       Example: Reading coordinates 
             Problem 
             Solution 1: substring extraction 
             Solution 2: string search 
             Solution 3: string split 
 Reading data from web pages 
       About web pages 
       How to access web pages in programs 
             Alternative 1 
             Alternative 2 
       Example: Reading pure text files 
       Example: Extracting data from HTML 
       Handling non-English text 
 Reading and writing spreadsheet files 
       CSV files 
       Reading CSV files 
       Processing spreadsheet data 
       Writing CSV files 
             Remark 
       Representing number cells with Numerical Python arrays 
       Using more high-level Numerical Python functionality 
 Summary 
       Chapter topics 
             Dictionaries 
             Strings 
             Downloading Internet files 
             Terminology 
       Example: A file database 
             Problem 
             Solution 
 Exercises 
       Exercise 1: Make a dictionary from a table 
       Exercise 2: Explore syntax differences: lists vs. dicts 
       Exercise 3: Use string operations to improve a program 
       Exercise 4: Interpret output from a program 
       Exercise 5: Make a nested dictionary from a file 
       Exercise 6: Make a nested dictionary from a file 
       Exercise 7: Compare data structures for polynomials 
       Exercise 8: Compute the derivative of a polynomial 
       Exercise 9: Specify functions on the command line 
       Exercise 10: Interpret function specifications 
       Exercise 11: Compare average temperatures in cities 
 References 
The present chapter addresses many techniques for interpreting information in files and storing the data in convenient Python objects for further data analysis. A particularly handy object for many purposes is the dictionary, which maps objects to objects, very often strings to various kinds of data that later can be looked up through the strings. The section Dictionaries is devoted to dictionaries.
Information in files often appear as pure text, so to interpret and extract data from files it is sometimes necessary to carry out sophisticated operations on the text. Python strings have many methods for performing such operations, and the most important functionality is described in the section Strings.
The World Wide Web is full of information and scientific data that may be useful to access from a program. The section Reading data from web pages tells you how to read web pages from a program and interpret the contents using string operations.
Working with data often involves spreadsheets. Python programs not only need to extract data from spreadsheet files, but it can be advantageous and convenient to actually to the data processing in a Python program rather than in a spreadsheet program like Microsoft Excel or LibreOffice. The section Reading and writing spreadsheet files goes through relevant techniques for reading and writing files in the common CSV format for spreadsheets.
The present chapter builds on fundamental programming concepts such as
loops, lists, arrays, if tests, command-line arguments, and curve
plotting.  The folder src/files contains all
the relevant program example files and associated data files.