title
13.5: Tabular Data - Processing Tutorial

description
Book: Learning Processing A Beginner's Guide to Programming, Images,Animation, and Interaction Chapter: 18 Official book website: http://learningprocessing.com/ Twitter: https://twitter.com/shiffman This video covers working with tabular data in Processing. Link to Matthew Epler's Data Viz tutorials: https://vimeo.com/album/2573675 Help us caption & translate this video! http://amara.org/v/Qbwl/ 📄 Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct

detail
{'title': '13.5: Tabular Data - Processing Tutorial', 'heatmap': [{'end': 802.428, 'start': 773.059, 'weight': 1}], 'summary': "Tutorial '13.5: tabular data - processing tutorial' covers accessing and processing tabular data using apis, spreadsheets, xml, and json. it also delves into processing citibike's trip histories, demonstrating insights into tabular data in processing, and explores data visualization, object-oriented programming, and csv data in python.", 'chapters': [{'end': 147.236, 'segs': [{'end': 31.633, 'src': 'embed', 'start': 2.588, 'weight': 2, 'content': [{'end': 6.852, 'text': 'Hi, So before I get into the main content in this video, which will be tabular data,', 'start': 2.588, 'duration': 4.264}, {'end': 10.795, 'text': 'I wanted to mention these videos here Intro to Processing for DataVis.', 'start': 6.852, 'duration': 3.943}, {'end': 12.176, 'text': 'They are made by Matthew Epler.', 'start': 10.835, 'duration': 1.341}, {'end': 13.457, 'text': 'I will include a link below.', 'start': 12.316, 'duration': 1.141}, {'end': 20.303, 'text': "I recommend you watch these videos over the one you're currently watching because they're actually quite a bit, in many ways, more comprehensive.", 'start': 13.477, 'duration': 6.826}, {'end': 22.805, 'text': 'But certainly, in particular,', 'start': 21.124, 'duration': 1.681}, {'end': 31.633, 'text': 'if you want to look for different algorithms for drawing different ways of setting pixels and drawing shapes on the screen that visualize the data,', 'start': 22.805, 'duration': 8.828}], 'summary': "Recommend watching matthew epler's intro to processing for datavis videos for comprehensive coverage of algorithms and visualization.", 'duration': 29.045, 'max_score': 2.588, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc2588.jpg'}, {'end': 80.552, 'src': 'embed', 'start': 54.171, 'weight': 0, 'content': [{'end': 60.894, 'text': 'And you just look around the world and most likely you find the data on your computer in this case, although you should find data in other places too.', 'start': 54.171, 'duration': 6.723}, {'end': 66.419, 'text': 'How do you get that data into processing? So it might be that the data is meant for you to get.', 'start': 61.734, 'duration': 4.685}, {'end': 67.58, 'text': "It's open.", 'start': 66.819, 'duration': 0.761}, {'end': 72.384, 'text': "There's an API for it, an application programming interface.", 'start': 68.2, 'duration': 4.184}, {'end': 73.445, 'text': "I think that's what it stands for.", 'start': 72.404, 'duration': 1.041}, {'end': 80.552, 'text': "This means there is an engine that's designed to hand the data from one application, a web server over to some other application,", 'start': 73.465, 'duration': 7.087}], 'summary': 'Data can be accessed via an api to transfer between applications.', 'duration': 26.381, 'max_score': 54.171, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc54171.jpg'}, {'end': 121.67, 'src': 'embed', 'start': 95.439, 'weight': 1, 'content': [{'end': 99.241, 'text': 'This is also a great thing because processing has a table class.', 'start': 95.439, 'duration': 3.802}, {'end': 108.661, 'text': 'a table class, which is an object that will load tabular data, spreadsheet data, comma separated values, data,', 'start': 101.673, 'duration': 6.988}, {'end': 114.408, 'text': "that's in a tabular format directly into processing and it will be very easy for you to parse and go through that data.", 'start': 108.661, 'duration': 5.747}, {'end': 118.613, 'text': 'Another format might be XML.', 'start': 115.069, 'duration': 3.544}, {'end': 121.67, 'text': 'extensible markup language.', 'start': 119.767, 'duration': 1.903}], 'summary': 'Processing has a table class for loading tabular data, making it easy to parse and process various data formats such as csv and xml.', 'duration': 26.231, 'max_score': 95.439, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc95439.jpg'}], 'start': 2.588, 'title': 'Tabular data in processing', 'summary': 'Covers different methods for accessing and processing tabular data, such as utilizing apis, downloading data as a spreadsheet, and parsing xml and json within processing.', 'chapters': [{'end': 147.236, 'start': 2.588, 'title': 'Tabular data in processing', 'summary': 'Discusses various ways of obtaining and processing tabular data, including accessing data through apis, downloading data as a spreadsheet, and parsing standard formats like xml and json in the context of processing.', 'duration': 144.648, 'highlights': ['Processing has a table class, which can load tabular data directly into processing and make it easy to parse and go through. The table class in Processing can directly load tabular data, such as comma separated values, into the processing environment, making it easy to parse and work with the data.', 'Recommendation to watch videos by Matthew Epler for comprehensive understanding of drawing algorithms and data visualization in Processing. It is recommended to watch videos by Matthew Epler for a comprehensive understanding of drawing algorithms and data visualization in Processing, as they offer a more comprehensive approach in visualizing data.', 'Discussion about obtaining data from different sources including APIs, downloadable spreadsheets, XML, and JSON formats. The chapter discusses obtaining data from various sources, such as APIs, downloadable spreadsheets, XML, and JSON formats, highlighting the different ways data can be accessed for processing.']}], 'duration': 144.648, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc2588.jpg', 'highlights': ['The chapter discusses obtaining data from various sources, such as APIs, downloadable spreadsheets, XML, and JSON formats, highlighting the different ways data can be accessed for processing.', 'Processing has a table class, which can load tabular data directly into processing and make it easy to parse and go through.', 'Recommendation to watch videos by Matthew Epler for a comprehensive understanding of drawing algorithms and data visualization in Processing.']}, {'end': 830.666, 'segs': [{'end': 176.385, 'src': 'embed', 'start': 147.696, 'weight': 0, 'content': [{'end': 150.378, 'text': 'For now, I want to stick to table, tabular data.', 'start': 147.696, 'duration': 2.682}, {'end': 153.059, 'text': "So what is tabular data? So let's come back over here.", 'start': 150.418, 'duration': 2.641}, {'end': 156.862, 'text': "And I'm going to close this browser window and come over here.", 'start': 153.72, 'duration': 3.142}, {'end': 159.364, 'text': 'So this is the Citibike website.', 'start': 156.922, 'duration': 2.442}, {'end': 164.3, 'text': "City Bike is a bike sharing program in New York City, in case you're not familiar with it.", 'start': 160.658, 'duration': 3.642}, {'end': 170.182, 'text': 'And City Bike has a site where all the data, you can just download all the data.', 'start': 164.92, 'duration': 5.262}, {'end': 174.864, 'text': "And it has trip histories, and there's all sorts of, it's just some grass, there's all sorts of things.", 'start': 170.262, 'duration': 4.602}, {'end': 176.385, 'text': "So I've already downloaded this data.", 'start': 174.884, 'duration': 1.501}], 'summary': 'The citibike website provides tabular data for a bike sharing program in new york city.', 'duration': 28.689, 'max_score': 147.696, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc147696.jpg'}, {'end': 234.057, 'src': 'embed', 'start': 192.712, 'weight': 1, 'content': [{'end': 195.415, 'text': 'Duration of the trip, the start time, the stop time.', 'start': 192.712, 'duration': 2.703}, {'end': 202.621, 'text': "there's lots of other things here to the station name, the station, latitude, longitude, So and then there are rows.", 'start': 195.415, 'duration': 7.206}, {'end': 205.704, 'text': 'the rows are individual records, much like a database.', 'start': 202.621, 'duration': 3.083}, {'end': 208.246, 'text': 'a database has fields and then records.', 'start': 205.704, 'duration': 2.542}, {'end': 214.891, 'text': 'a database of about people might be first name, last name, age, gender.', 'start': 208.246, 'duration': 6.645}, {'end': 219.513, 'text': "And there's lots of records, lots of people with first names, last names, age, gender.", 'start': 215.051, 'duration': 4.462}, {'end': 224.494, 'text': 'You can think of the column as headers or keys for that particular column.', 'start': 219.793, 'duration': 4.701}, {'end': 230.616, 'text': 'So this is the kind of thing that we could work with very easily in a piece of software like LibreOffice.', 'start': 224.754, 'duration': 5.862}, {'end': 234.057, 'text': 'And it, in fact, even has some automatic ways of graphing that data.', 'start': 230.656, 'duration': 3.401}], 'summary': 'Data includes trip duration, start/stop times, station details, and records like a database.', 'duration': 41.345, 'max_score': 192.712, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc192712.jpg'}, {'end': 358.696, 'src': 'embed', 'start': 326.898, 'weight': 3, 'content': [{'end': 329.8, 'text': 'Load strings give me an array of strings.', 'start': 326.898, 'duration': 2.902}, {'end': 340.572, 'text': "Load table gives me a table object, and we're going to see shortly load XML and load JSON as well.", 'start': 330.703, 'duration': 9.869}, {'end': 350.441, 'text': 'So table, XML, and JSON, those are the three standardized data formats that Processing knows about, can grab, and you can parse them very easily.', 'start': 340.932, 'duration': 9.509}, {'end': 358.696, 'text': "And another video will look at what if the data is not in any of these formats? What do we do? We'll come up with a solution.", 'start': 351.342, 'duration': 7.354}], 'summary': 'Processing can handle array of strings, table, xml, and json for easy parsing.', 'duration': 31.798, 'max_score': 326.898, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc326898.jpg'}, {'end': 652.129, 'src': 'embed', 'start': 621.917, 'weight': 4, 'content': [{'end': 623.819, 'text': 'I lost my train of thought with the stupid camera going off.', 'start': 621.917, 'duration': 1.902}, {'end': 625.461, 'text': "Okay, let's get back on track here.", 'start': 623.879, 'duration': 1.582}, {'end': 629.865, 'text': 'So what did we do? We got each piece of data as its index.', 'start': 625.761, 'duration': 4.104}, {'end': 639.636, 'text': 'But a more convenient way of working with tabular data in processing is actually to have a file that happens to have header information in it.', 'start': 631.127, 'duration': 8.509}, {'end': 643.2, 'text': "So now I've added header information to this file.", 'start': 640.637, 'duration': 2.563}, {'end': 645.823, 'text': "If you go back and look at that city bike data, it's already in there.", 'start': 643.24, 'duration': 2.583}, {'end': 647.024, 'text': 'Most files will have this.', 'start': 645.883, 'duration': 1.141}, {'end': 652.129, 'text': "And I could just say, all right, now let's see what happens now.", 'start': 647.725, 'duration': 4.404}], 'summary': 'Adding header information to tabular data for easier processing.', 'duration': 30.212, 'max_score': 621.917, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc621917.jpg'}, {'end': 802.428, 'src': 'heatmap', 'start': 773.059, 'weight': 1, 'content': [{'end': 777.464, 'text': 'So the x is an integer, y is an integer, the diameter is a float, and name is a string.', 'start': 773.059, 'duration': 4.405}, {'end': 781.288, 'text': "So let's find the place in the code where that data is being loaded.", 'start': 777.744, 'duration': 3.544}, {'end': 783.11, 'text': 'And you can see it right here.', 'start': 781.888, 'duration': 1.222}, {'end': 785.032, 'text': 'And actually, I just want to change something really quickly.', 'start': 783.13, 'duration': 1.902}, {'end': 786.634, 'text': 'Hopefully this will still work.', 'start': 785.833, 'duration': 0.801}, {'end': 792.539, 'text': 'So you can see here this is where ah, for any given row, give me the x integer, give me the y integer,', 'start': 787.494, 'duration': 5.045}, {'end': 794.941, 'text': 'give me the diameter float and give me the name as a string.', 'start': 792.539, 'duration': 2.402}, {'end': 802.428, 'text': 'So this is where we can see now that a table can have different data types in each column, and you can pull out that data if you know the data type.', 'start': 795.241, 'duration': 7.187}], 'summary': 'Identifying and modifying data loading code for integers, floats, and strings in a table.', 'duration': 29.369, 'max_score': 773.059, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc773059.jpg'}, {'end': 844.308, 'src': 'embed', 'start': 814.854, 'weight': 5, 'content': [{'end': 816.095, 'text': 'Give me all the elements of the array.', 'start': 814.854, 'duration': 1.241}, {'end': 817.756, 'text': 'This is just give me all the rows of the table.', 'start': 816.135, 'duration': 1.621}, {'end': 824.181, 'text': "And so this is what you'll see in a lot of, this is more likely what you're going to have in your project that you're going to make.", 'start': 817.796, 'duration': 6.385}, {'end': 826.563, 'text': "You're going to want to loop through all the rows of the table.", 'start': 824.561, 'duration': 2.002}, {'end': 830.025, 'text': "Now, there's something else kind of really interesting about this particular example.", 'start': 827.063, 'duration': 2.962}, {'end': 830.666, 'text': 'Let me run this.', 'start': 830.045, 'duration': 0.621}, {'end': 832.622, 'text': "What's on the screen?", 'start': 831.741, 'duration': 0.881}, {'end': 835.063, 'text': 'There are these circles.', 'start': 833.022, 'duration': 2.041}, {'end': 839.866, 'text': 'each one that I hover over has like a label and you can see these circles are made.', 'start': 835.063, 'duration': 4.803}, {'end': 842.347, 'text': 'these bubbles are made from the data in that file.', 'start': 839.866, 'duration': 2.481}, {'end': 844.308, 'text': "And there's a bubble object.", 'start': 843.087, 'duration': 1.221}], 'summary': 'The transcript discusses looping through rows of a table to create circles and bubbles based on data.', 'duration': 29.454, 'max_score': 814.854, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc814854.jpg'}], 'start': 147.696, 'title': 'Tabular data processing', 'summary': "Explores understanding tabular data using citibike's trip histories and processing data from text files, showcasing convenience and insights into the structure and use of tabular data in processing.", 'chapters': [{'end': 234.057, 'start': 147.696, 'title': "Understanding tabular data in citibike's trip histories", 'summary': "Explores the concept of tabular data using citibike's trip histories, which consists of columns representing trip details and rows as individual records, providing insights into the structure and use of tabular data.", 'duration': 86.361, 'highlights': ["Tabular data is exemplified through Citibike's trip histories, which can be downloaded and visualized using software like LibreOffice, with columns representing trip details and rows as individual records.", "The data in Citibike's trip histories is organized into columns with headings such as duration, start time, stop time, station name, latitude, and longitude, as well as rows representing individual trip records.", 'The chapter emphasizes the similarity between tabular data and a database, where columns act as headers or keys for that particular column and rows serve as individual records, akin to a database with fields and records.']}, {'end': 830.666, 'start': 234.097, 'title': 'Processing data from text files', 'summary': 'Demonstrates how to process data from a text file into a table object, manipulate and extract individual pieces of data, and handle files with header information, showcasing the convenience of working with tabular data in processing.', 'duration': 596.569, 'highlights': ['Processing can easily parse data stored in CSV format, with load table giving a table object and the ability to parse standardized data formats like XML and JSON. Processing can parse CSV data using load table, providing a convenient way to work with tabular data in standardized formats like XML and JSON.', 'The chapter illustrates how to load data from a file into a table object, allowing for automatic parsing of comma-separated values and easy extraction of data for manipulation. The chapter demonstrates loading data from a file into a table object for automatic parsing of comma-separated values and extraction of data for manipulation.', 'Demonstrates the convenience of having header information in a file, allowing for easy referencing of values by their header names, especially beneficial for handling large datasets. Illustrates the convenience of having header information in a file, enabling easy referencing of values by their header names, particularly beneficial for large datasets.', 'Discusses the ability to handle different data types in each column of a table, showcasing the process of pulling out data based on their respective data types. Discusses handling different data types in each column of a table and the process of pulling out data based on their respective data types.', 'The chapter demonstrates the process of looping through all the rows of the table, mirroring the behavior of looping through an array, providing a common scenario for projects. Demonstrates the process of looping through all the rows of the table, resembling the behavior of looping through an array, which is a common scenario for projects.']}], 'duration': 682.97, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc147696.jpg', 'highlights': ["Tabular data in Citibike's trip histories can be visualized using software like LibreOffice.", "Data in Citibike's trip histories is organized into columns with headings such as duration, start time, stop time, station name, latitude, and longitude.", 'The chapter emphasizes the similarity between tabular data and a database, where columns act as headers or keys and rows serve as individual records.', 'Processing can easily parse data stored in CSV format, providing a convenient way to work with tabular data in standardized formats like XML and JSON.', 'Illustrates the convenience of having header information in a file, enabling easy referencing of values by their header names, particularly beneficial for large datasets.', 'Demonstrates the process of looping through all the rows of the table, resembling the behavior of looping through an array, which is a common scenario for projects.']}, {'end': 1058.565, 'segs': [{'end': 900.234, 'src': 'embed', 'start': 869.15, 'weight': 0, 'content': [{'end': 871.112, 'text': "But here's another way of doing it.", 'start': 869.15, 'duration': 1.962}, {'end': 875.226, 'text': "What's in that file? Look at this data file.", 'start': 871.372, 'duration': 3.854}, {'end': 880.468, 'text': 'This data file has all of the initial values for a bunch of objects.', 'start': 875.446, 'duration': 5.022}, {'end': 890.73, 'text': 'So this mapping a CSV to the data in an object is a really useful way of just keeping track of information or even doing data visualization.', 'start': 880.488, 'duration': 10.242}, {'end': 900.234, 'text': 'If I want to load the city bike data, I might make a trip object, and that trip object would have a start station, an end station, a duration.', 'start': 891.591, 'duration': 8.643}], 'summary': 'Mapping csv to object data is useful for visualization and tracking, e.g. trip object with start/end station and duration.', 'duration': 31.084, 'max_score': 869.15, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc869150.jpg'}, {'end': 982.743, 'src': 'embed', 'start': 944.95, 'weight': 1, 'content': [{'end': 945.451, 'text': 'Look at this.', 'start': 944.95, 'duration': 0.501}, {'end': 948.948, 'text': 'there are new records in the file.', 'start': 946.647, 'duration': 2.301}, {'end': 956.49, 'text': 'So in addition to loading data from a file, tabular data from a CSV file, you can write a file out.', 'start': 949.288, 'duration': 7.202}, {'end': 963.752, 'text': 'So this particular example is demonstrating the fact that you can use a table object for persistence.', 'start': 956.81, 'duration': 6.942}, {'end': 969.334, 'text': 'If I wanted to keep track of the list of high scores for a game every time I run my processing sketch,', 'start': 963.892, 'duration': 5.442}, {'end': 973.355, 'text': 'I could save out the current high scores so they could access them the next time I run the sketch.', 'start': 969.334, 'duration': 4.021}, {'end': 982.743, 'text': 'And if we look at the code down here, we will see, how has this happened? Look, every time I click the mouse, I make a new row.', 'start': 973.715, 'duration': 9.028}], 'summary': 'Demonstrating the ability to load and write tabular data from a file, achieving persistence and creating new records.', 'duration': 37.793, 'max_score': 944.95, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc944950.jpg'}, {'end': 1014.31, 'src': 'embed', 'start': 989.969, 'weight': 2, 'content': [{'end': 999.318, 'text': 'And you can see here, then what happens? I can now save that table object out back to the same file.', 'start': 989.969, 'duration': 9.349}, {'end': 1003.861, 'text': "So there's a lot going on here in this example and what we've talked about.", 'start': 999.978, 'duration': 3.883}, {'end': 1007.044, 'text': 'But just to sum it all up, we have a CSV file.', 'start': 1003.922, 'duration': 3.122}, {'end': 1008.886, 'text': 'You can load that CSV file.', 'start': 1007.344, 'duration': 1.542}, {'end': 1011.328, 'text': 'And you can read through every row and pull out all the data.', 'start': 1008.926, 'duration': 2.402}, {'end': 1012.809, 'text': 'You can make objects from that data.', 'start': 1011.348, 'duration': 1.461}, {'end': 1014.31, 'text': 'You could visualize those objects.', 'start': 1012.949, 'duration': 1.361}], 'summary': 'The process involves loading a csv file, reading and extracting data, and visualizing the objects.', 'duration': 24.341, 'max_score': 989.969, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc989969.jpg'}], 'start': 831.741, 'title': 'Data visualization, object-oriented programming, and csv data', 'summary': 'Covers data visualization through object-oriented programming, using a table object for data persistence, and working with csv data in python. it also highlights the use of data files to initialize objects, persisting high scores for a game, and manipulating csv data for visualization.', 'chapters': [{'end': 915.819, 'start': 831.741, 'title': 'Data visualization and object-oriented programming', 'summary': 'Discusses data visualization through object-oriented programming and the use of data files to initialize objects, highlighting the usefulness of mapping csv to object data in processing.', 'duration': 84.078, 'highlights': ['The chapter emphasizes the use of data files to initialize objects, providing initial values for a bunch of objects, and highlights the usefulness of mapping CSV to object data for data visualization in processing.', 'It demonstrates the concept of object-oriented programming by illustrating the creation of a bubble object with specific properties such as x, y, diameter, and name, showcasing the practical application of object-oriented programming in data visualization.', 'The speaker discusses the functionality of mapping a CSV file to object data and demonstrates its usefulness in working with data from a file in processing, exemplifying the practical application of mapping data for data visualization.']}, {'end': 989.649, 'start': 915.939, 'title': 'Using table object for persistence', 'summary': 'Demonstrates how to use a table object to persist data, enabling the saving and accessing of high scores for a game through a processing sketch, as well as dynamically adding new records to a file.', 'duration': 73.71, 'highlights': ['The chapter illustrates using a table object to persist data, allowing for the saving and accessing of high scores for a game through a processing sketch.', 'Demonstrates dynamically adding new records to a file every time the mouse is clicked, with values set for x, y, diameter, and label.']}, {'end': 1058.565, 'start': 989.969, 'title': 'Working with csv data', 'summary': 'Explains how to load, read, manipulate, and save csv data using python, suggesting exercises to practice working with tabular data and visualizing objects.', 'duration': 68.596, 'highlights': ['You can load a CSV file, read through every row, pull out all the data, make objects from that data, and visualize those objects.', 'You can save the modified objects back to the original file, enabling data manipulation and visualization.', 'Exercises suggested include working with tabular data, loading colors from a file, saving colors to a file, and parsing data for basic drawing such as bar graphs.']}], 'duration': 226.824, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/woaR-CJEwqc/pics/woaR-CJEwqc831741.jpg', 'highlights': ['The chapter emphasizes the use of data files to initialize objects, providing initial values for a bunch of objects, and highlights the usefulness of mapping CSV to object data for data visualization in processing.', 'The chapter illustrates using a table object to persist data, allowing for the saving and accessing of high scores for a game through a processing sketch.', 'You can load a CSV file, read through every row, pull out all the data, make objects from that data, and visualize those objects.']}], 'highlights': ['The chapter discusses obtaining data from various sources, such as APIs, downloadable spreadsheets, XML, and JSON formats, highlighting the different ways data can be accessed for processing.', 'Processing has a table class, which can load tabular data directly into processing and make it easy to parse and go through.', 'Processing can easily parse data stored in CSV format, providing a convenient way to work with tabular data in standardized formats like XML and JSON.', 'The chapter emphasizes the similarity between tabular data and a database, where columns act as headers or keys and rows serve as individual records.', 'Illustrates the convenience of having header information in a file, enabling easy referencing of values by their header names, particularly beneficial for large datasets.', 'Demonstrates the process of looping through all the rows of the table, resembling the behavior of looping through an array, which is a common scenario for projects.', 'The chapter emphasizes the use of data files to initialize objects, providing initial values for a bunch of objects, and highlights the usefulness of mapping CSV to object data for data visualization in processing.', 'The chapter illustrates using a table object to persist data, allowing for the saving and accessing of high scores for a game through a processing sketch.', 'You can load a CSV file, read through every row, pull out all the data, make objects from that data, and visualize those objects.', "Tabular data in Citibike's trip histories can be visualized using software like LibreOffice.", "Data in Citibike's trip histories is organized into columns with headings such as duration, start time, stop time, station name, latitude, and longitude.", 'Recommendation to watch videos by Matthew Epler for a comprehensive understanding of drawing algorithms and data visualization in Processing.']}