{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Export bluesky data to CSV\n", "\n", "Export bluesky experiment data from databroker to CSV files. Each data stream is written to its own file.\n", "\n", "As a bonus, it is shown how to write all of a run's data to a single JSON file." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, identify the experiment data to be exported. Show what catalogs are available." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['class_2021_03', 'class_example_data']" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import databroker\n", "list(databroker.catalog)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pick from the `class_example_data` catalog." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "59" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cat = databroker.catalog[\"class_example_data\"]\n", "len(cat)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Just show a few of the most recent runs." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "catalog: class_example_data\n", " scan_id time plan_name detectors\n", "0 90 2021-03-06 14:16:41 scan [noisy]\n", "1 89 2021-03-06 14:15:35 scan [noisy]\n", "2 88 2021-03-06 14:14:45 scan [noisy]\n", "3 87 2021-03-06 14:13:44 scan [noisy]\n", "4 86 2021-03-06 14:10:46 rel_scan [noisy]\n", "5 85 2021-03-06 14:10:43 rel_scan [noisy]\n", "6 84 2021-03-06 14:10:37 rel_scan [noisy]\n", "7 83 2021-03-06 14:10:19 rel_scan [noisy]\n", "8 82 2021-03-03 10:01:32 count [adsimdet]\n" ] } ], "source": [ "from apstools.utils import *\n", "listruns(num=9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Check what is in #85." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "BlueskyRun\n", " uid='b4e4cbbb-a4b1-4146-aea5-ba8bc7ad7b76'\n", " exit_status='success'\n", " 2021-03-06 14:10:43.261 -- 2021-03-06 14:10:46.260\n", " Streams:\n", " * primary\n", " * baseline\n" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run = cat[85]\n", "run" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Look at the data in the `primary` stream. That's the experiment data." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset>\n", "Dimensions: (time: 23)\n", "Coordinates:\n", " * time (time) float64 1.615e+09 1.615e+09 ... 1.615e+09 1.615e+09\n", "Data variables:\n", " m1 (time) float64 0.915 0.918 0.922 ... 0.988 0.992 0.995\n", " m1_user_setpoint (time) float64 0.9146 0.9183 0.922 ... 0.988 0.9917 0.9954\n", " noisy (time) float64 1.464e+03 1.767e+03 ... 1.674e+03 1.494e+03
array([1.615061e+09, 1.615061e+09, 1.615061e+09, 1.615061e+09, 1.615061e+09,\n", " 1.615061e+09, 1.615061e+09, 1.615061e+09, 1.615061e+09, 1.615061e+09,\n", " 1.615061e+09, 1.615061e+09, 1.615061e+09, 1.615061e+09, 1.615061e+09,\n", " 1.615061e+09, 1.615061e+09, 1.615061e+09, 1.615061e+09, 1.615061e+09,\n", " 1.615061e+09, 1.615061e+09, 1.615061e+09])
array([0.915, 0.918, 0.922, 0.926, 0.929, 0.933, 0.937, 0.94 , 0.944,\n", " 0.948, 0.951, 0.955, 0.959, 0.962, 0.966, 0.97 , 0.973, 0.977,\n", " 0.981, 0.984, 0.988, 0.992, 0.995])
array([0.91461872, 0.91828974, 0.92196077, 0.92563179, 0.92930282,\n", " 0.93297385, 0.93664487, 0.9403159 , 0.94398692, 0.94765795,\n", " 0.95132897, 0.955 , 0.95867103, 0.96234205, 0.96601308,\n", " 0.9696841 , 0.97335513, 0.97702615, 0.98069718, 0.98436821,\n", " 0.98803923, 0.99171026, 0.99538128])
array([ 1463.92124654, 1766.77807072, 2094.50450468, 2798.32521782,\n", " 3305.86485887, 4534.74655493, 6865.43764098, 9149.30587732,\n", " 15753.27851951, 33071.73105762, 56524.5928228 , 94208.51149034,\n", " 60687.14648988, 33271.44458305, 16008.77693897, 9858.98556194,\n", " 6690.43920525, 4799.07549787, 3380.49964564, 2709.74517481,\n", " 2142.78312427, 1674.13140299, 1494.37780746])