Reading spreadsheet file with varying number of delimiters

Dear Forum,
I wish to read in a spreadsheet file (text) generated by some 3rd party programme. It turns out that while the programme generates columns separated by spaces, the number of spaces between columns varies in a fashion I have yet to disentangle. This is not a problem if I wish
to read in the file in excel (or equivalent) - but LabView's "spreadsheet string to array" functions doesn't seem to be able to cope with it - if I enter "space" as the delimiter it accepts only a *single* space... is there some way to indicate "zero or more" spaces to this function ? [I know I can make a bunch of loops and read the items one number at a time, but this is very slow, so I'd prefer to avoid it]
Thanks,
Niels
Solved!
Go to Solution.

You can do a search and replace. Search for any number of spaces and replace them with just one and then use the Spreadsheet String To Array function.
Use the + to search for one or more.
Be sure to set the Search and Replace setting for "Regular Expression" Right click options.
But that might not always work if there are columns that are empty.
Post an example of the text file that you are working with from the 3rd party software. 
+
Marks part of a pattern as one that can appear one or more times in the input. For example, be+ matches be in believe, bee in beep, and fails (no match) with bat.
Omar

Similar Messages

  • Read from spreadsheet file with multiple delimiters

    Is there a way to specify multiple delimitors in the read from spreadsheet file vi? I have a file that i need to read in that contains both space and comma delimitors and would like to read that data into an array using both delimitors (or not and). Below is the data I'm trying to read.
    ;attenuator data table
    att00:   db       000h,015h,017h,035h,03Ch,03Eh,03Eh,05Ch,05Eh,05Eh
    att10:   db       07Ch,07Eh,07Fh,09Dh,09Fh,09Fh,0BDh,015h,017h,035h
    att20:   db       03Eh,03Eh,05Ch,05Ch,05Eh,07Ch,07Ch,07Eh,09Dh,09Dh
    att30:   db       09Fh,0BDh,000h,000h,000h,002h,002h,002h,002h,003h
    att40:   db       021h,021h,021h,021h,021h,023h,023h,023h,023h,023h
    att50:   db       041h,041h,048h,048h,048h,04Ah,04Ah,04Ah,04Ah,068h
    att60:   db       068h,068h,068h,068h,068h,06Ah,06Bh,06Bh,06Bh,089h
    att70:   db       089h,089h,089h,08Bh,08Bh,08Bh,08Bh,0A9h,0A9h,0A9h
    att80:   db       0A4h,0A6h,0A6h,0A6h,0A6h,0C4h,0C4h,0C4h,0C4h,0C6h
    att90:   db       0C6h,0C6h,0C6h,0E4h,0E4h,0E5h,0E5h,0E7h,0E7h,0E7h
        END
    I'm looking to just read in the data adjust the hex values and then save the data in the exact form which I read it in. If read from spreadsheet file can not recognize multiple delimiters that is all I need to know. I do not want to spend time reading it in using a single delimitor and doing a bunch of string manipulation. I'm also working with LabView 8.5 if that makes a difference.

    You should use "scan string for tokens", and wire an array of delimiters.
    One nice behavior is the fact that consecutive delimiters are contracted into one (by default), so e.g. if your delimiters is an array containing a space and a comma, a sequence of three spaces and a comma would still count as one delimiter.
    For some ideas, have a look at my old example here:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=192847#M192847
    LabVIEW Champion . Do more with less code and in less time .

  • How to create a table with varied number of columns?

    I am trying to create a balance table. The colunms should include years between the start year and end year the user will input at run time. The rows will be the customers with outstanding balance in those years.
    If the user input years 2000 and 2002, the table should have columns 2000, 2001, 2002. But if the user input 2000 and 2001, the table will only have columns 2000 and 2001.
    Can I do it? How? Thanka a lot.

    Why did you create a new thread for this?
    How to create a table with varied number of columns?

  • Can we create JTable with multiple rows with varying number of columns ?

    Hi All,
    I came across a very typical problem related to JTable. My requirement is that cells should be added dynamically to the JTable. I create a JTable with initial size of 1,7 (row, columns) size. Once the 7 columns are filled with data, a new row should be created. But the requirement is, the new row i.e. second row should have only one cell in it initially. The number of cells should increase dynamically as the data is entered. The table is automatically taking the size of its previous row when new row is added. I tried by using setColumnCount() to change the number of columns to '1' for the second row but the same is getting applied to the first row also.
    So can you please help me out in this regard ? Is it possible to create a JTable of uneven size i.e. multiple rows with varying number of columns in each row ?
    Thanks in Advance.

    Well a JTable is always going to paint the same number of columns for each row. Anything is possible if you want to rewrite the JTable UI to do this, but I wouldn't recommend it. (I certainly don't know how to do it).
    A simpler solution might be to override the isCellEditable(...) method of JTable and prevent editing of column 2 until data in column 1 has been entered etc., etc. You may also want to provide a custom renderer that renderers the empty column differently, maybe with a grey color instead of a white color.

  • Read xml File with counter

    I have a question, but I posted it on the wrong forum. This is the link:
    https://social.msdn.microsoft.com/Forums/en-US/899c8291-70f5-4c1b-abf2-a1a1242e017a/read-xml-file-with-counter?forum=visualstudiogeneral&prof=required

    Hi,
    I have created a program that read an xml file like this:
    <xas>
    <information>
    <list>"12345"</list>
    <version>1.0.0.1</version>
    </information>
    <word><n>0</n><v>test123v</v><a>test123a</a></word>
    <word><n>1</n><v>testv</v><a>testa</a></word>
    </xas>
    I read it to a listview called listview1:
    The MainWindow.xaml:
    <Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="" Height="1220" Width="1017" WindowStartupLocation="Manual" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" UseLayoutRounding="False" WindowState="Maximized">
    <Grid>
    <ListView x:Name="ListView1" HorizontalAlignment="Left" Height="1220" VerticalAlignment="Top" Width="1017">
    <ListView.View>
    <GridView x:Name="Lijst">
    <GridViewColumn x:Name="Vraag" Header="Vraag" DisplayMemberBinding="{Binding Vraag}">
    </GridViewColumn>
    <GridViewColumn x:Name="Antwoord" Header="Antwoord" DisplayMemberBinding="{Binding Antwoord}">
    </GridViewColumn>
    </GridView>
    </ListView.View>
    </ListView>
    </Grid>
    </Window>
    And this is MainWindow.xaml.vb:
    Imports System.IO
    Imports System.Reflection.Assembly
    Imports System.Xml
    Imports System.Data
    Class MainWindow
    Dim VraagListBox As New ListBox
    Dim AntwoordListBox As New ListBox
    Dim Hoofdmap As String = GetExecutingAssembly().Location
    Dim Bestand As String
    Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
    'RUNNEN MAAR!!!!
    'Het bestand vinden in de commandline argumenten
    Dim args() As String = System.Environment.GetCommandLineArgs()
    Dim Teller As Integer = "0"
    For Each arg As String In args
    If Teller = "1" Then
    Bestand = arg
    Else
    Teller = Teller + "1"
    End If
    Next
    Bestand = "D:\Alles voor school!\Alles voor school!\Vakken\Stepping Stones\DATA1\Hoofdstuk 1\Leerlijsten\Hoofdstuk 1 Grammer 1.xas"
    'Welk bestand? Set de title
    Me.Title = Path.GetFileName(Bestand) & " - ListViewer (V.1.0.0.6)"
    If Bestand <> "" Then
    'Vragen en antwoorden toevoegen in de kolommen
    If Path.GetExtension(Bestand) = ".xas" Then
    Dim orderInfo = XElement.Load(Bestand)
    For Each entry As XElement In orderInfo...<word>
    Dim thisOrder As New Order
    With thisOrder
    .Vraag = entry...<v>.Value
    .Antwoord = entry...<a>.Value
    End With
    ListView1.Items.Add(thisOrder)
    Next
    'Virtuele vraaglistbox toevoegen = kolom Vraag van LisView1
    Dim orderInfoVraag = XElement.Load(Bestand)
    For Each entry As XElement In orderInfoVraag...<word>
    Dim thisOrderVraag As New VraagClass
    With thisOrderVraag
    .Vraag = entry...<v>.Value
    End With
    VraagListBox.Items.Add(thisOrderVraag)
    Next
    'Virtuele antwoordlistbox toevoegen = kolom Antwoord van LisView1
    Dim orderInfoAntwoord = XElement.Load(Bestand)
    For Each entry As XElement In orderInfoAntwoord...<word>
    Dim thisOrderAntwoord As New AntwoordClass
    With thisOrderAntwoord
    .Antwoord = entry...<a>.Value
    End With
    AntwoordListBox.Items.Add(thisOrderAntwoord)
    Next
    'Check wat er fout is aan het bestand, en geef een melding
    Else
    MessageBox.Show("Er is een verkeerde extentie geselecteerd, namelijk: " & Path.GetExtension(Bestand) & ".", "Verkeerde extentie - ListViewer", MessageBoxButton.OK, MessageBoxImage.Error)
    Me.Close()
    End If
    Else
    If Bestand = "" Then
    MessageBox.Show("Je hebt geen bestand geselecteerd", "Geen bestand geselecteerd - ListViewer", MessageBoxButton.OK, MessageBoxImage.Error)
    Me.Close()
    Else
    MessageBox.Show("Er is iets misgegaan met het laden van het bestand, probeer het later opnieuw", "Onbekende error - ListViewer", MessageBoxButton.OK, MessageBoxImage.Error)
    Me.Close()
    End If
    End If
    End Sub
    Private Sub ListView1_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs) Handles ListView1.MouseDoubleClick
    Directory.CreateDirectory(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\" & Path.GetFileName(Bestand))
    Dim SchrijfVraag As New StreamWriter(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\Word.txt")
    Dim SchrijfFile As New StreamWriter(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\File.txt")
    SchrijfVraag.WriteLine(ListView1.SelectedIndex)
    SchrijfFile.WriteLine(Bestand)
    SchrijfVraag.Close()
    SchrijfFile.Close()
    Dim WoordenScherm As ViewWord
    WoordenScherm = New ViewWord()
    WoordenScherm.ShowDialog()
    End Sub
    End Class
    ViewWord.xaml is:
    <Window x:Class="ViewWord"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ViewWord" Height="155" Width="1017" ResizeMode="NoResize" SizeToContent="WidthAndHeight" Topmost="True" WindowStartupLocation="CenterScreen">
    <Grid>
    <Label x:Name="VraagLabel" Content="Vraag:" HorizontalAlignment="Left" Margin="23,11,0,0" VerticalAlignment="Top" Width="106"/>
    <TextBox x:Name="VraagTextBox" HorizontalAlignment="Left" Height="24" Margin="134,13,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="743" />
    <Label x:Name="AntwoordLabel" Content="Antwoord:" HorizontalAlignment="Left" Margin="23,42,0,0" VerticalAlignment="Top" Width="106"/>
    <TextBox x:Name="AntwoordTextBox" HorizontalAlignment="Left" Height="24" Margin="134,44,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="743"/>
    <Button x:Name="VraagAanpassenButton" Content="Aanpassen" HorizontalAlignment="Left" Margin="882,15,0,0" VerticalAlignment="Top" Width="107"/>
    <Button x:Name="AntwoordAanpassenButton" Content="Aanpassen" HorizontalAlignment="Left" Margin="882,44,0,0" VerticalAlignment="Top" Width="107"/>
    <Label x:Name="VraagNummerLabel" Content="Vraagnummer:" HorizontalAlignment="Left" Margin="23,72,0,0" VerticalAlignment="Top" Width="106"/>
    <TextBox x:Name="VraagNummerTextBox" HorizontalAlignment="Left" Height="24" Margin="134,74,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="743"/>
    <Button x:Name="VraagNummerAanpassenButton" Content="Aanpassen" HorizontalAlignment="Left" Margin="882,74,0,0" VerticalAlignment="Top" Width="107"/>
    </Grid>
    </Window>
    In VraagTextBox must come the entry <word><v>test123v</v></word>, in AntwoordTextBox must come the entry <word><a>test123a</a></word>, and in VraagNummerTextBox must come the entry <word><n>0</n></word>
    This is the code to fix that (ViewWord.xaml.vb):
    Imports System.IO
    Public Class ViewWord
    Private Structure AntwoordVraag
    Public Vraag As String
    Public Antwoord As String
    End Structure
    Private Sub ViewWord_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
    End Sub
    Private Sub AntwoordAanpassenButton_Click(sender As Object, e As RoutedEventArgs) Handles AntwoordAanpassenButton.Click
    Dim Vraagnummer As String
    Dim Bestandsnaam As String
    Dim LeesVraag As New StreamReader(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\Word.txt")
    Dim LeesFile As New StreamReader(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\File.txt")
    Vraagnummer = LeesVraag.ReadLine()
    Bestandsnaam = LeesFile.ReadLine()
    LeesVraag.Close()
    LeesFile.Close()
    MessageBox.Show(Vraagnummer)
    Dim teller As Integer = 0
    Dim orderInfo = XElement.Load(Bestandsnaam)
    If teller = Vraagnummer Then
    VraagNummerTextBox.Text = orderInfo...<word>...<n>.Value
    VraagTextBox.Text = orderInfo...<word>...<v>.Value
    AntwoordTextBox.Text = orderInfo...<word>...<a>.Value
    Else
    teller = teller + 1
    End If
    End Sub
    End Class
    But the result isn't:
    VraagTextBox.Text = testv
    AntwoordTextBox.Text = testa
    NummerTextBox.Text = 1 
    if i click on the number 2 of the listview (index = 1)
    How can i fix it?

  • What to do when local file with serial number has been removed?

    what to do when local file with serial number has been removed?

    Please describe your problems and symptoms in more detail. Please include system (eg Windows 7) and name + version of Adobe software.

  • Can we read Money files with iCompta?

    Can we read Money files with iCompta?

    Yes and no. I f you mean reading multiple files as one-single-payload to a process, you can not use this. But the file adapter reads all the files (depending on the number of agents) almost at once, processing each file, or each line in the file as a process instance.
    Marc

  • Importing CD to Artist folder\Album folder\file with track number and name:

    I have a problem then importing my cd’s to my harddisk using iTunes.
    On my previous pc I got what I want, Artist folder, Album folder and file with track number and name:
    e.g.
    D:\My Music\B.B. King\Blues On The Bayou\01 Blues Boys Tune.mp3
    D:\My Music\B.B. King\Blues On The Bayou\02 Bad Case Of Love.mp3
    D:\My Music\B.B. King\Blues On The Bayou\03 I'll Survive.mp3
    But now I get:
    D:\My Music\Compilations\Blues On The Bayou\01 Blues Boys Tune.mp3
    D:\My Music\ Compilations \02 Bad Case Of Love.mp3
    D:\My Music\ Compilations \03 I'll Survive.mp3
    In iTunes my settings are Edit -> Preferences -> Advanced: iTunes Music folder: D:\My Music and checkmark in both: “Keep iTunes Music folder organized” and “Copy files to iTunes Music folder when adding to library”.
    My version of iTunes is 8.0.1.11
    Thanks in advance
    Peter

    It will depend on the album. Gracenote considers anthologies, a collection of tracks by the same artist taken from different albums, as a compilation. In iTunes the compliation setting should really only be applied to a collection of tracks by different artists.
    tt2

  • I can't read a file with the ext PDF the sender informed me that the file was reset to PDF.

    I can't read a file with the .ext PDF the sender informed me that the file was reset to PDF. But when I tried to open it the caption box informed me"the file is not in PDF format. I suspect the sender simply changed the file .ext which is why I can't open it! What can I do about it! I am working on an iPad.
    Thanks
    Mr Jim Lapthorn

    If the document is not, in fact, a PDF, then you will need to get your sender to provide a PDF.
    Can you open this document in any other application?

  • I have a problem with the mac can not read video files with the extension IMOD. How can I solve this problem?

    I have a problem with the mac can not read video files with the extension IMOD. How can I solve this problem?

    By doing a Google search. 

  • Read a file with a variable=counter : NAMEFILE001,NAMEFILE002..

    Hello,
    I would need your councils.
    I can read a logical file on my server(logical example of name: NAMEFILE) with function FILE_GET_NAME.
    But I would like to be able to read a file with a counter i.e.
    the first time: to read NAMEFILE001;
    the second time read NAMEFILE002;
    the third time read NAMEFILER003...
    How made you that?
    With function FILENAME_EXIT _?
    But, where do I put the variable = counter? In a table...?
    Thank you in advance of your answer
    Servane

    Hi Servane,
    You could also do the following:
    in transaction FILE you set up the physical path name as follows:
    /<i>path</i>/.../<FILENAME><PARAM_1>
    then you call the function FILE_GET_NAME:
      CALL FUNCTION 'FILE_GET_NAME'
           EXPORTING
             LOGICAL_FILENAME        = W_LOGICAL_FILENAME
             PARAMETER_1             = W_FILENUMBER
          IMPORTING
               FILE_NAME               = THEFILE
           EXCEPTIONS
                FILE_NOT_FOUND          = 1
                OTHERS                  = 2.
    This will equally construct the name/counter as you wish.
    AND, if I am not wrong, since the system does it, you will not have to worry about putting the last counter value away in the DB.
    cheers,
    Phil
    Message was edited by: Phillip Morgan

  • Table with varying number of columns

    Hello experts,
    my issue:
    I need to print a table with varying number of columns. Depending on if all cells of a certain column are initial the
    whole column should disappear. Hiding is not enough.
    If this columns is in the middle of the table the following columns should move left to fill the gap.
    my approach: (maybe there is an easier one)
    There are 4 different possible situations. My approach was to create 4 different tables with different amount of
    columns. In the interface I fill the table that is really needed from the source table data and fill a flag that characteristics
    the situation, possible values (1,2,3,4).
    In the form I'd like to print the appropriate table depending on the situations.
    my problem:
    How to place all 4 possible tables lying upon each other in the form and print only the needed one depending on the flag value?
    my question:
    Is my approach ok? Or is there an easier one?
    If it is ok. How can I solve the problem regarding printing the right table.
    Thanks in advance!
    Heinz

    Hi Heinz,
    You can handle it with FormCalc Script at initialization.
    Suppose you have a table with name TABLE having a header HEADER and data row DATA:
    TABLE-->HEADER(Cell1...Cell2...Cell3...Cell4)
              --->DATA(Cell1...Cell2...Cell3...Cell4)
    Suppose you want to hide Cell3 for null values, then write below code at initialization of DATA:
    if(DATA[*].Cell3.rawValue eq null)
    then
    DATA[*].Cell3.presence = "hidden"
    HEADER.Cell3.presence = "hidden"
    else
    DATA[*].Cell3.presence = "visible"
    HEADER.Cell3.presence = "visible"
    endif
    Hope it would help.
    Regards,
    Vaibhav

  • Read multiples files with same extension

    how to read multiples files with same extension in java.
    for ex : i would like to read all .DAT files from C drive using java.
    How is it done

    - You create the filter
    - You get the list of files
    - You open and read each file.
    For the first two above you look at java.io.File and listFiles(FileFilter filter).
    For the third you find whatever input stream is appropriate from java.io.*

  • Why can't I read PDF files with this browser?

    It says "can't read PDF files with this browser running. Exit and try again."
    I have Adobe 9.3.2 installed. It didn't give me this message with earlier versions of Adobe.
    Is there a way to go BACKWARDS?
    How do I save the PDF files so I can close them and view them without using the browser?
    == I downloaded later versions of Adobe.

    I have tried everything,Foxit and Foxit updates, Gone to Adobe......you think of it I have tried.
    ONLY ANSWER THAT WORKS :
    Download Internet Explorer 8 and use that

  • Reading large file with JCA Adapter in OSB

    Hello,
    We are searching for a solution how to read large file (>50M) from network drive and deliver it to queue via OSB 11gR4 (10.3.4). The problem is when reading the file with JCA File Adapter. It seems that it cannot handle as large files as we have. The documentation provides a way to bypass file size limitation by using Chunk Read but it seems to require BPEL Process execution which is not possible in our environment. Does anyone know if there are ways to implement this without having BPEL Process?
    Our usecase:
    read file from network drive -> transfer with OSB -> deliver MQ
    Other options than JCA File Adapter can be considered, if anyone can advice...

    If it's a plain routing use case and no message processing is required then you may simply use OSB's FILE transport instead of JCA adapter. Create a messaging type proxy service and select request message type as "binary". Also enable the content streaming (Disk buffer, compression).
    From OSB Dev guide -
    Oracle JCA Adapter for FTP and Files – Attachments (large payload support), pre- and post-processing of files, using a re-entrant valve for processing ZIP files, content streaming, and file chunked read are not supported with Oracle Service Bus.
    http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15866/jca.htm#BABBICIA
    You may also refer -
    Reading huge flat file in OSB 11gR1
    Regards,
    Anuj

Maybe you are looking for

  • File not exist in application server

    Dear experts,                     Can anybody told me that if file not exist into the application server then what will happen to open dataset statement? it will show error or what? regards, sameek.

  • I want to open all pdf documents in full screen initially.

    I want to open all pdf documents in full screen initially.

  • Error message at every Safari 4 start

    Hello I installed Safari 4 under Windows XP and it works great ... until a Windows-update-restart( without warning). From now on - during every Safari start I get a Windows message "Safari meets some difficulties ... and has to close" with only 2 opt

  • How to force Finder to authenticate WebDAV?

    Hi all, Gallery2 just added webdav support. If you don't specify credentials during connection, it defaults to anonymous. Unfortunately, it looks like Finder only prompts for credentials if the initial connection fails. So I always mount the drive as

  • Reg: Userid and password

    Dear all Recently i did certification on SAP-SD. how can I get the password/userid to login into sap service marketplace ? Could u please help me! Regards Raj