5.2.4: How to Incorporate Data Files in Your Code Blocks- For Python
- Page ID
There are a number of ways data files and can be incorporated into code blocks. However, ensure that you have already followed the steps in the introduction to the CKEditor Binder Plugin Tutorial here.
Method 1: Using wget
The first method that can be used to get a data file in your code block is with wget. Follow the example below and replace the example URL with the one attained in the previous step.
Remember to press the "Run" button prior to pressing "OK". Printing both the code and output without, will the below result, to avoid this simply check "Insert Code Only" after pressing "Run".
--2020-05-18 01:28:43-- https://chem.libretexts.org/@api/deki/files/265970/auto-mpg.data Resolving chem.libretexts.org (chem.libretexts.org)... 18.104.22.168, 22.214.171.124, 126.96.36.199, ... Connecting to chem.libretexts.org (chem.libretexts.org)|188.8.131.52|:443... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: https://files.mtstatic.com/site_4334/265970/0?Expires=1589768697&Signature=c0dsv~bR3RQniUY5r-nXlduGKS~Az6ThF-JmogVIJG2CWYV0oDujk8cDVGicmlVbR-uverfdaQGQk~RSe2MqxK8CtJ8Io4Jc2YyAFg2WmjzPbWNWkpiUIzuxJvqJ~-LnVjmIvjDVL5YWRBW1BhoEd59mNp0q9EHx1Mzbh7o36a4_&Key-Pair-Id=APKAJ5Y6AV4GI7A555NA [following] --2020-05-18 01:28:43-- https://files.mtstatic.com/site_4334/265970/0?Expires=1589768697&Signature=c0dsv~bR3RQniUY5r-nXlduGKS~Az6ThF-JmogVIJG2CWYV0oDujk8cDVGicmlVbR-uverfdaQGQk~RSe2MqxK8CtJ8Io4Jc2YyAFg2WmjzPbWNWkpiUIzuxJvqJ~-LnVjmIvjDVL5YWRBW1BhoEd59mNp0q9EHx1Mzbh7o36a4_&Key-Pair-Id=APKAJ5Y6AV4GI7A555NA Resolving files.mtstatic.com (files.mtstatic.com)... 184.108.40.206, 220.127.116.11, 18.104.22.168, ... Connecting to files.mtstatic.com (files.mtstatic.com)|22.214.171.124|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 30286 (30K) [application/octet-stream] Saving to: ‘auto-mpg.data.1’ auto-mpg.data.1 100%[===================>] 29.58K --.-KB/s in 0.04s 2020-05-18 01:28:43 (708 KB/s) - ‘auto-mpg.data.1’ saved [30286/30286]
Once the data file has been loaded, use Python code that you may normally use to read out the lines in the data file. An example code block has been provided below.
inFile = open("auto-mpg.data", "r") line = inFile.readline() while True: line = inFile.readline() if line == "": break line = line.strip() lineList = line.split(',') print(lineList)
To ensure that the above code block runs successfully, the user needs to run the wget code prior to running the above code if both parts are added in separately.
Method 2: Using Python Libraries
The CKEditor Binder Plugin supports Python 3, libraries that are supported by this version of Python may be used to read in the file. An example code block is provided below.
import csv import urllib.request import codecs url = "https://chem.libretexts.org/@api/deki/files/265970/auto-mpg.data" ftpstream = urllib.request.urlopen(url) csvfile = csv.reader(codecs.iterdecode(ftpstream, 'utf-8')) for line in csvfile: print(line)