Changeset 5268


Ignore:
Timestamp:
Apr 27, 2022 1:08:11 PM (5 months ago)
Author:
toby
Message:

add csv column selection option

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIplot.py

    r5264 r5268  
    20282028    if Page.plotStyle['qPlot']:
    20292029        Lines.append(Plot.axvline(2.*np.pi/G2lat.Pos2dsp(Parms,pos),color=color,
    2030             picker=pick,pickradius=2.))
     2030            picker=pick,pickradius=2.,linestyle='dotted'))
    20312031    elif Page.plotStyle['dPlot']:
    20322032        Lines.append(Plot.axvline(G2lat.Pos2dsp(Parms,pos),color=color,
    2033             picker=pick,pickradius=2.))
     2033            picker=pick,pickradius=2.,linestyle='dotted'))
    20342034    else:
    20352035        Lines.append(Plot.axvline(pos,color=color,
    2036             picker=pick,pickradius=2.))
     2036            picker=pick,pickradius=2.,linestyle='dotted'))
    20372037       
    20382038def PlotPatterns(G2frame,newPlot=False,plotType='PWDR',data=None,
  • trunk/imports/G2pwd_csv.py

    r3136 r5268  
    3838        fp = open(filename,'r')
    3939        for i,S in enumerate(fp):
     40            if S.strip().startswith('#'): continue
    4041            if i > 1000: break
    4142            vals = S.replace(',',' ').replace(';',' ').split()
    4243            if len(vals) >= 2:
    4344                for j,v in enumerate(vals):
     45                    if len(v) == 0: continue
    4446                    if j == 3: break
    4547                    try:
     
    6365        y = []
    6466        w = []
     67        positions = [0,1,2]
    6568        fp = open(filename,'r')
    6669        for i,S in enumerate(fp):
     70            if i <= 2 and 'x=' in S: # header entry specifying columns
     71                for v in S.strip().replace(',',';').split(';'):
     72                    if 'x=' in v:
     73                        j = 0
     74                    elif 'y=' in v:
     75                        j = 1
     76                    elif 'e=' in v:
     77                        j = 2
     78                    else:
     79                        continue
     80                    try:
     81                        positions[j] = int(v.strip().split('=')[1])
     82                    except:
     83                        print('Error parsing: "'+S+'"')
     84                print('positions=',positions)
     85            if S.strip().startswith('#'): continue
    6786            vals = S.replace(',',' ').replace(';',' ').split()
    6887            if len(vals) < 2 and i > 0:
     
    7089                continue
    7190            try:
    72                 x.append(float(vals[0]))
    73                 f = float(vals[1])
     91                x.append(float(vals[positions[0]]))
     92                f = float(vals[positions[1]])
    7493                if f <= 0.0:
    7594                    y.append(0.0)
    7695                    w.append(0.0)
    77                 elif len(vals) == 3:
    78                     y.append(float(vals[1]))
    79                     w.append(1.0/float(vals[2])**2)
     96                elif len(vals) > positions[2] and positions[2] >= 0:
     97                    y.append(f)
     98                    w.append(1.0/float(vals[positions[2]])**2)
    8099                else:
    81                     y.append(float(vals[1]))
    82                     w.append(1.0/float(vals[1]))
     100                    y.append(f)
     101                    w.append(1.0/f)
    83102                err = False
    84103            except ValueError:
Note: See TracChangeset for help on using the changeset viewer.