How to Capitalize the First Letter in a Field Using Python

ArcMap String Conversion Python Tutorial

San Francisco Capitalize

If your letters and words are all uppercase or lowercase in a field, and you want to capitalize the first letter of each word…

…We have some straight-forward Python code just for you.

… And all you’ll need is the field calculator in ArcGIS (ArcMap) combined with a bit of Python.

This step-by-step guide will help you get started:

What this Tutorial will Accomplish

We will simply take any field, and change the first character to a capital letter. The other letters in the word will be lower case.

For example:

  • SAN FRANCISCO will become San Francisco
  • san francisco will become San Francisco
  • saN fRaNciSCo will become San Francisco

….So the first letter will be capitalized using some Python code.

We use the .title() string operator in Python to accomplish our objective.

Capitalize Words Python ArcMap Tutorial

STEP 1. Create a new text field called ‘Capitals’. This text field will be used to store the capitalized words. Make the text length property large enough to hold all of the text from the other field.

Add Field

Now, there should be a new text field called capitals in your table:

Capitals New Field

STEP 2. Right-click the the new field ‘Capitals’. Select the ‘Field Calculator’ option.

Field Calculator

STEP 3. Select the Python radio button. In the expression text box, double-click the field with the existing text field that you want to capitalize the first letter. Type .title() after the field and press OK. Type it exactly like that. Here’s an example of the field calculator code block:

Python Code Title

See the result – a new field with capital letters:

Capitals Field Calculator Result

If you’re getting an error, try to the following:

  • Run this python code block by selecting the records first.
  • Do not capitalize .title() with a capital ‘T’

Capital Letter Results with ArcMap and Python

Python has a simple solution to capitalize the first letter in a text field.

You can also convert strings to all lowercase in a text field using the .lower() property. The .upper() returns a copy of a strong with all the cases characters converted to uppercase.

From titles to lowercase to uppercase….

Use these handy Python string operators as huge time-savers for your big data sets.

Be the first to comment

Leave a Reply