Loading data files: Difference between revisions

From SweepMe! Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
Last update with: Version 1.5.3.15
== Origin ==
== Origin ==


Line 10: Line 12:
import numpy as np  # loading numpy package
import numpy as np  # loading numpy package


data =  np.genfromtxt("mydata.txt", usecols = (0,2,3), skip_header = 4, missing_values = "--", filling_values = float("nan"))
data =  np.genfromtxt("mydata.txt", usecols = (0,2,3), skip_header = 3, missing_values = "--", filling_values = float("nan"))
# this example loads data from the first, the third, and the fourth column, it skips the header and replaces missing values by nan (= "not a number")
# this example loads data from the first, the third, and the fourth column, it skips the header and replaces missing values by nan (= "not a number")
# Load all columns be removing the usecols argument
# Load all columns be removing the usecols argument
Line 23: Line 25:
import numpy as np  # loading numpy package
import numpy as np  # loading numpy package


data =  np.loadtxt("mydata.txt", usecols = (1,4,5), skiprows=4, delimiter="\t")
data =  np.loadtxt("mydata.txt", usecols = (1,4,5), skiprows=3, delimiter="\t")
# this example loads data from the second, the fifth, and the sixth column and skips the header
# this example loads data from the second, the fifth, and the sixth column and skips the header
# Load all columns be removing the usecols argument
# Load all columns be removing the usecols argument
Line 37: Line 39:


file = "Name of my data file.txt"
file = "Name of my data file.txt"
data = pd.read_csv('%s' % file, header=[0,1,2], delimiter='\t')
data = pd.read_csv('%s' % file, header=[0,1], delimiter='\t')
# the first three lines of the header are read
# the first two lines of the header are read


V = data[('Voltage', '[V]', 'SMU1')]
V = data[('SMU1 Voltage', '[V]')]
I = data[('Current', '[A]', 'SMU2')]  
I = data[('SMU2 Current', '[A]')]  
# Syntax: data[('<variable>', '<unit>', '<module label>')]
# Syntax: data[('<Module label + variable>', '<unit>')]
}}
}}



Revision as of 20:57, 24 March 2019

Last update with: Version 1.5.3.15

Origin

Just drag and drop the saved data files into Origin and select standard Ascii-import. Long name, unit and comment are automatically filled with the three header lines. Make sure that the decimal separator is set to point in the options of Origin.

Python

The data files can easily be loaded using the package numpy:

import numpy as np  # loading numpy package

data =  np.genfromtxt("mydata.txt", usecols = (0,2,3), skip_header = 3, missing_values = "--", filling_values = float("nan"))
# this example loads data from the first, the third, and the fourth column, it skips the header and replaces missing values by nan (= "not a number")
# Load all columns be removing the usecols argument

Please find all options here: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.genfromtxt.html

A faster import can be realized by using the numpy function loadtxt. However, you have to make sure that all characters are numbers and can be converted to floats.

import numpy as np  # loading numpy package

data =  np.loadtxt("mydata.txt", usecols = (1,4,5), skiprows=3, delimiter="\t")
# this example loads data from the second, the fifth, and the sixth column and skips the header
# Load all columns be removing the usecols argument

Please find all options here: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.loadtxt.html


Another opportunity is to use the package pandas:

import pandas as pd

file = "Name of my data file.txt"
data = pd.read_csv('%s' % file, header=[0,1], delimiter='\t')
# the first two lines of the header are read

V = data[('SMU1 Voltage', '[V]')]
I = data[('SMU2 Current', '[A]')] 
# Syntax: data[('<Module label + variable>', '<unit>')]

Please find all options here: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

QtiPlot

tbf

Gnuplot

tbf