How To Process A Sentence In Special Format In PLSQL - oracle

I would like to decode the content of csv in PLSQL.
The content of the csv as following.
"HEADER_ROW1_COL1,WITH_COMMA",HEADER_ROW1_COL2,my darling's ccc
DATA_ROW2_COL1,DATA_ROW2_COL2
DATA_ROW3_COL1,DATA_ROW3_COL2
CSV will split the column with a comma. If the cell contains a comma, CSV will enclosed the content of the cell with double quotes.
Threfore, if I want to read the content of the Excel file, I need to follow the steps as following
Read the content of the CSV by line
Split the text with comma
If the comma is enclosed by two double quotes, ignore the comma
Please advise.
Thanks

Related

Does a single column CSV file have commas?

When i open my csv file in an excel it looks like this -
Header
Value1
Value2
Value3
Value4
Value5
I want to know whether this file actually has commas in it? I am aware that if i have multiple columns i will see the commas
You can easily test that by opening the file in a text editor (e.g. Notepad on Windows). It will show the file as it is in text format, i.e., with commas present (if they are in the file). I would say that if it is single column, it won't have commas (but rather line breaks between the rows), but if you need to be sure just open it with a text editor.
https://www.ietf.org/rfc/rfc4180.txt
Given there is only one value in each record it would not have a comma given the spec.
Within the header and each record, there may be one or more
fields, separated by commas. Each line should contain the same
number of fields throughout the file. Spaces are considered part
of a field and should not be ignored. The last field in the
record must not be followed by a comma. For example:

Escaping CSV comma in Java(Spring Boot)

I am looking for a way to escape the comma within a cell of a .csv file. I tried to achieve this with 'Opencsv', but could not get it to work.
I have a custom spreadsheet/grid in my Springboot application and a user can view the .csv file they upload(as a MultipartFile) in the grid. If the cell contains a comma, it messes the grid.
What I need to do is to escape the comma within the cell of a (comma separated) .csv file. What is the best way to achieve this requirement? Is there a way to escape characters from a MultipartFile with a minimum number of conversions/transactions?
Thanks in advance!

Pentaho Load Plain Text File w/ ASCII separator

I'm trying to use Spoon / Kettle to upload a plain text file that is separated by ASCII characters. I can see all the data when I preview the content of the file in Kettle, but no records load when I try to preview rows on the "Content" tab.
According to my research, Kettle should understand my field separator when typed as "$[value]" which in my case is "$[01]". Here's a description of the file structure:
Each file in the feed is in plain text format, separated into columns and rows. Each record has the same set of fields. The following are the delimiters for
each field and record:
Field Separator (FS): SOH (ASCII character 1)
Record Separator (RS) : STX (ASCII character 2) + ā€œnā€
Any record starting with a ā€œ#ā€ and ending with the RS should be treated as a comment by the ingester and ignored. The data provider has also generated a column header line at the beginning of the file, listing field data types.
So my input parameters are:
Filetype: Fixed
Separator: $[01]
Enclosure:
Escape:
...
Format: DOS
Encoding: US-ASCII
Length: Characters
I'm unable to read any records, and I'm not sure if this is the correct approach. Would ingesting this data with java inside of kettle be a better method?
Any help with this would be much appreciated. Thanks!

Send a Flat file attachment in the workflow in Informatica Developer

In a mapping we use delimited flat file having 3 columns.The column separated through comma. But i have a requirement that in between the column there is a column having 2 comma.So how should I process the column in the mapping?
You should have information quoted with "" so whatever is within " is skiped. this way you could differentiate between comma of a piece of information or as a column separator.
We don't know what have you tried, but count the number of commas for each line and separate accordingly (if possible).

Reading Text file with fixed length columns using spring batch

I need to read a text file using spring batch process and bellow is a sample file
000115989 AB0001 BC00012 030114 010100 WITHDRAWL FROM SAVING 100.00
It doesn't have any column header and each column has a fixed length and delimited by two blank spaces.
Here I can't use DelimitedLineTokenizer for two blank spaces as columns can also have leading or trailing blank spaces .
Is there any work around so that I read each column with its specific length after that I can trim that.
Take a look at the FixedLengthTokenizer (http://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/file/transform/FixedLengthTokenizer.html). This allows you to set how lines are parsed by column instead of by delimiter.

Resources