Importing data in scientific notation format
Hi,
I've got some data files produced by some ancient laboratory software. In the files, numbers are formatted like this:
+7.60609E-02
+8.18901E-03
etc.
When I import the data into Numbers, Numbers does not seem to recognize that the data points represent numbers, rather than strings (I can't create plots from the data, for example). If I edit the cells to prepend "=" to the entry, then Numbers evaluates the entry as if it were scientific notation (which is what I want), so that +7.60609E-02 becomes 0.760609. Is there a way to indicate to Numbers that the data I am importing is in scientific notation format, and should be treated as such? Because I'm not too excited about manually prepending "=" to everything.
Thanks
If the file is a comma separated values file, you have two choices:
1) Make a Numbers sheet that is formatted the way you want it, including formatting the cells in the column to be scientific. Drag the file from Finder and drop it on cell A1 of the table or, if not A1, the top-left cell of where you wantthe data to begin in the table, like maybe cell B2. Or,
2) Open the CSV file with Numbers. After import, select the column of numbers and format it as scientific.
Similar Messages
-
External table.How to load numbers (decimal and scientific notation format)
Hi all, I need to load inside an external table records that contain 7 fields. The last field is called AMOUNT and it's represented in some records with the decimal format, in others records with the scientific notation format as, for example, below:
CY001_STATU;2009;Jan;11220020GR;'03900;CYZ900;-9,99999999839929e-03
CY001_STATU;2009;Jan;11200100;'60800;CYZ900;41380,77
The External table's script is the following:
CREATE TABLE HYP_DATA
COUNTRY VARCHAR2(50 BYTE),
YEAR VARCHAR2(20 BYTE),
PERIOD VARCHAR2(20 BYTE),
ACCOUNT VARCHAR2(50 BYTE),
DEPT VARCHAR2(20 BYTE),
ACTIVITY_LOC VARCHAR2(20 BYTE),
AMOUNT VARCHAR2(50 BYTE)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY HYP_DATA_DIR
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
BADFILE 'HYP_BAD_DIR':'HYP_LOAD.bad'
DISCARDFILE 'HYP_DISCARD_DIR':'HYP_LOAD.dsc'
LOGFILE 'HYP_LOG_DIR':'HYP_LOAD.log'
SKIP 0
FIELDS TERMINATED BY ";"
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
"COUNTRY" Char,
"YEAR" Char,
"PERIOD" Char,
"ACCOUNT" Char,
"DEPT" Char,
"ACTIVITY_LOC" Char,
"AMOUNT" Char
LOCATION (HYP_DATA_DIR:'Total.txt')
REJECT LIMIT UNLIMITED
NOPARALLEL
NOMONITORING;
If, for the field AMOUNT I use the datatype VARCHAR (as above), the table is loaded but I have some records rejected, and all these records contain the last field AMOUNT with the scientific notation as:
CY001_STATU;2009;Jan;11220020GR;'03900;CYZ900;-9,99999999839929e-03
CY001_STATU;2009;Feb;11220020GR;'03900;CYZ900;-9,99999999839929e-03
CY001_STATU;2009;Mar;11220020GR;'03900;CYZ900;-9,99999999839929e-03
CY001_STATU;2009;Dec;11220020GR;'03900;CYZ900;-9,99999999839929e-03
All the others records with a decimal AMOUNT are loaded correctly.
So, my problem is that I NEED to load all the records (with the decimal and the scientific notation format) together (without records rejected), but I don't know which datatype I have to use for the AMOUNT field....
Anybody has any idea ???
Any help would be appreciated
Thanks in advance
Alex@OP,
What version of Oracle are you using?
Just cut'n'paste of you script and example woked FINE for me.
however my quation is... An external table will LOAD all data or none at all. How are you validating/concluding that...
I have some records rejected, and all these records contain the last field AMOUNT with the scientific notation
select * from v$version where rownum <2;
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
select * from mydata;
CY001_STATU 2009 Jan 11220020GR '03900 CYZ900 -9,99999999839929e-03
CY001_STATU 2009 Feb 11220020GR '03900 CYZ900 -9,99999999839929e-03
CY001_STATU 2009 Jan 11220020GR '03900 CYZ900 -9,99999999839929e-03
CY001_STATU 2009 Jan 11200100 '60800 CYZ900 41380,77
CY001_STATU 2009 Mar 11220020GR '03900 CYZ900 -9,99999999839929e-03
CY001_STATU 2009 Dec 11220020GR '03900 CYZ900 -9,99999999839929e-03
CY001_STATU 2009 Jan 11220020GR '03900 CYZ900 -9,99999999839929e-03
CY001_STATU 2009 Jan 11200100 '60800 CYZ900 41380,77MYDATA table script is...
drop table mydata;
CREATE TABLE mydata
COUNTRY VARCHAR2(50 BYTE),
YEAR VARCHAR2(20 BYTE),
PERIOD VARCHAR2(20 BYTE),
ACCOUNT VARCHAR2(50 BYTE),
DEPT VARCHAR2(20 BYTE),
ACTIVITY_LOC VARCHAR2(20 BYTE),
AMOUNT VARCHAR2(50 BYTE)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY IN_DIR
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
BADFILE 'IN_DIR':'HYP_LOAD.bad'
DISCARDFILE 'IN_DIR':'HYP_LOAD.dsc'
LOGFILE 'IN_DIR':'HYP_LOAD.log'
SKIP 0
FIELDS TERMINATED BY ";"
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
"COUNTRY" Char,
"YEAR" Char,
"PERIOD" Char,
"ACCOUNT" Char,
"DEPT" Char,
"ACTIVITY_LOC" Char,
"AMOUNT" Char
LOCATION (IN_DIR:'total.txt')
REJECT LIMIT UNLIMITED
NOPARALLEL
NOMONITORING;vr,
Sudhakar B. -
Importing data in obscure binary format into diadem
Hi all,
Lets assume that I have some data in a binary format which DIAdem can not automatically import into the data portal. One method I am aware of and used is to create a dataplugin in vbs which will then allow me to import this data. Recently I came across something called the "TDM header writer" which gives me the impression that it is capable of creating a header file for my binary data and as a result will be able to import this data into DIAdem without creating a dataplugin. Is this actually the case? If the answer is yes which method is actually easiest to use dataplugin or TDM header writer?
Thanks for reading and your assistance in advance.
MatthewHi,
your impression is correct. With the TDM Header Writer you can write a TDM header file for your binary data, so it can be imported in DIAdem as TDM file.
However, you will need to create a TDM Header for each of your binary files. There are several ways to use the TDM Header Writer:
- C API
- JAVA API
- LabVIEW VIs
But please let me ask, if you are not satisfied with the DataPlugin you created. It should enable you to read all of your binary files without any extra work. You can export DataPlugins and distribute them. So once created, it should feel like a native file format for DIAdem.
For an overview of DataPlugins provided by National Instruments, please have a look here:
DataPlugins -
Decimal Format and Scientific Notation
I am trying to print numbers in scientific notation using the Decimal Format class. What follows is a simple test program I wrote to find the bug. So far, I have not found a solution.
import java.text.*;
public class formatted {
public static void main (String Arguments[]) {
DecimalFormat form = new DecimalFormat("0.###E0");
double numb = 123456.789;
System.out.println("Nuber is: " +
form.format(numb));
The output of this program is... Nuber is: 123456E
The output is the same if numb is an int, float, or double. If I format the number as "#####.0" or "#####.00" the output is correct. I think that I am following the rules for formatting a number in scientific notation as the process is outlined in the documentation (provided below).
***** From Decimal Format under Scientific Notation ***
Numbers in scientific notation are expressed as the product of a mantissa and a power of ten, for
example, 1234 can be expressed as 1.234 x 10^3. The mantissa is often in the range 1.0 <= x < 10.0,
but it need not be. DecimalFormat can be instructed to format and parse scientific notation only via a
pattern; there is currently no factory method that creates a scientific notation format. In a pattern,
the exponent character immediately followed by one or more digit characters indicates scientific
notation. Example: "0.###E0" formats the number 1234 as "1.234E3".
Anyone understand how the short program is incorrectly written?
MarcThe problem is
format = "0.###E0"
input number = 123456.789
output = 123456E (not scientific notation!)
This is not scientific notation at all. There is no decimal point given and no value in the exponent.
I understand entirely that by adding more #'es will provide more precision. The bug I have is the output is not printed in the scientific format; other formats work.
MArc -
Convert scientific notation value into normal number
hi,
I am importing excel(.csv) file into Oracle database, a value in excel file 8.70773E+11 is displaying in scientific notation format, i want to store it like 870772521002.i have already run this query, it gave me 871000000000.0000000000 this result.
Table Structure,
SQL> desc cdr;
Name Null? Type
INVOICENO VARCHAR2(50)
OCEANREGION NUMBER
CALLDATE DATE
CALLTIME VARCHAR2(10)
ORIGINATORNO VARCHAR2(50)
SUBSCRIBER VARCHAR2(75)
DESTNO VARCHAR2(50)
VOLUME FLOAT(50)
UNIT VARCHAR2(5)
this above Originatorno field had Number data type, but it wasnt working. -
To_number and scientific notation
Hi
I am trying to convert a number in scientific notation stored in a character ffield to a number.
I use this statement, but gets a ORA-01722 error.
What is wrong ?
select to_number('1.1111111111111112E-6','9.9EEEE')
from dual
PrebenHi guys, I'm following this forum in order to reuse what you wrote, but I still have a problem with the scientific notation format...
From SQL Plus If I run this query:
select b.CONTRACT_NUMBER,b.id as cont_id from OKC_K_HEADERS_B b--, okc_k_lines_b v
where b.contract_number = 'NR19Mini'
I retrieve the following row:
CONTRACT_NUMBER CONT_ID
NR19Mini 1.4733E+38where the CONT_ID datatype is NUMBER.
Now I want to specify a condition using the CONT_ID field (for another use in the future), but if I use the following syntax
select b.CONTRACT_NUMBER,b.id as cont_id from OKC_K_HEADERS_B b
where b.contract_number = 'NR19Mini'
and b.id = to_number('1.4733E+38','9.99999EEEE');
I don't retrieve any rows (no rows selected)
How can I modify the format number in order to see my row, and for example use it inside a join with another fied of the same type ?
Thanks in advance
Alex -
How to prevent display in scientific notation
I want to convert a large double value to a string,
but when the value is greater than 10000000 , it will display in
scientific notation , such as 3.435E8
However, how can I convert it automatically to 343500000 because
there is an interface program which do not accept the scientific
notation format
Thanks in advancedStart here: http://java.sun.com/j2se/1.4/docs/api/java/text/NumberFormat.html
-
Importing date-time data from Excel file
I am running into problems importing date-times in the format 3/15/2010 9:30:00 PM using SQL Developer. At Step 1 of the Data Import Wizard, the data preview window displays all the date fields as Excel dates (e.g. 40252.89583 instead of 3/15/2010 9:30:00 PM). Can I get SQL Developer to recognize the data in their date-time format, rather than converting them to decimal values?
When importing from Excel, I haven't found a date format model that would convert their decimal number into an Oracle date. But the following seems to work well:
1 - Save the Excel page as a CSV file then in the SD import wizard you can enter the date format model for that column.
2 - In Excel convert that column to text. (Highlight your date column, Choose the "Data" menu item, in the "Data Tools" group choose the "Text to Columns" tool, click next / next / then select the "Text" button, click "Finish" and save your xls) Now in the SD import wizard just enter the date format model that matches the Excel 'text' column with your dates.
Either way seems to work for me. -
Prevent large numbers from becoming scientific notation on CSV import
Hi, I'm importing contacts in a .CSV file into iWork Numbers and it takes a 12-digit phone number from a guy in the UK and turns it into scientific notation. So something like 447729803988 becomes 4.4772E+11 which obviously loses some important digits. Is there a way to force Numbers to treat all fields as text on import so it doesn't drop this critical data? thanks
Seanscrollin,
Your digits are all there. Just format those cells to either Text or Number. Leading zeros do tend to get lost unless you pre-format to text. You can force the cell format to text on the fly by prefixing your input with a single-quote.
Regards,
Jerry -
Powershell / Scientific Notation Woes / Formatting Output to Live Excel Sheet
I have a WMI query in a script that dumps machine information to a live excel sheet.
I find when I query the model # of the machine using (this line of code from the script):
$Sheet.Cells.Item($count,4) = (Get-WmiObject win32_computersystem -ComputerName $computer).Model
The output almost always changes into Scientific Notation, because this is a typical model number : "3500-E52"
Is there a way to modify the formatting of the:
$Sheet.Cells.Item($count,4)
so that Excel uses "text" formatting for that cell? I know you can change the fonts etc... but have not been lucky in finding a powershell > excel reference
that explains how to change a cell or column's formatting beyond the basics.
I have seen recommendations to others to dump the results queries to a CSV first, and then import into Excel (which would allow a manual change of that column's format). I'm just
hoping to bypass the extra "hands on" and format more directly to a sheet in Excel.
If .csv is the best way to go, I'll muddle through it and change the code.
Any help is greatly appreciated.
Ben$sheet.Cells(1,1).NumberFormat
= "@"
¯\_(ツ)_/¯ -
We migrated Packages from SSIS 2008 to 2012. The Package is working fine in all the environments except in one of our environment.
SSIS 2012 is intermittently failing with below error while importing data from a source table into a Destination table with same exact schema.
Error: 2014-01-28 15:52:05.19
Code: 0x80004005
Source: xxxxxxxx SSIS.Pipeline
Description: Unspecified error
End Error
Error: 2014-01-28 15:52:05.19
Code: 0xC0202009
Source: Process xxxxxx Load TableName [48]
Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Invalid date format".
End Error
Error: 2014-01-28 15:52:05.19
Code: 0xC020901C
Source: Process xxxxxxxx Load TableName [48]
Description: There was an error with Load TableName.Inputs[OLE DB Destination Input].Columns[Updated] on Load TableName.Inputs[OLE DB Destination Input]. The column status returned was: "Conversion failed because the data value overflowed
the specified type.".
End Error
But when we reorder the column in "Updated" in Destination table, the package is importing data successfully.
This looks like bug to me, Any suggestion?Hi Mohideen,
Based on my research, the issue might be related to one of the following factors:
Memory pressure. Check there is a memory challenge when the issue occurs. In addition, if the package runs in 32-bit runtime on the specific server, use the 64-bit runtime instead.
A known issue with SQL Native Client. As a workaround, use .NET data provider instead of SNAC.
Hope this helps.
Regards,
Mike Yin
If you have any feedback on our support, please click
here
Mike Yin
TechNet Community Support -
Data retrieval in non-scientific notation from Netezza database
Hi,
I have a requirement where my BPEL service fetches data from Netezza database. In the database, there is a field which is of type numeric(16,8) and holds values say '0.00000000'. The select query on the table rerieves data in its scientific notation as '0E-8'.
Please let me know how to retrieve its value in the form of non-scientific notation.
Thanks in advance.
Regards,
Sitarahai
chowdary,
it is not possible to retrieve data from maintenace view.
it is only possible to retrive data from a table or database
/ projection views defined ddic.
Maintenace views are used to maintain data of an application object together.Data from several tables can be joined and summarized data can be seen of this view based on primary key join relationship using SM30.U make any changes or view the data there only.
if useful, reward points.
By
G.V.K.Prasad
Edited by: PRASAD GVK on Apr 13, 2008 3:36 PM -
Hi,
I'm working with a small program where at one point a number, in scientific notation will need to be formated into a string containing plane numbers.
I use the code below, and it works in up to large numbers where the formatting doesen't do aything at all.
String InputValue = "7,584995286E7";
NumberFormat format = NumberFormat.getNumberInstance();
Number number = format.parse(InputValue);
String OutputValue = number.toString();
System.out.println(OutputValue);The example above gives the result input back as output value: 7.584995286E7
With the value 7,584995286E6 the result is: 7584995.286 just as I want it to work.
What can I do to solve this?
All help is appreciated.
Thanks
/H�kanHi ,
Below is the code posted by you.
String InputValue = "7,584995286E7";
NumberFormat format = NumberFormat.getNumberInstance();
Number number = format.parse(InputValue);
String OutputValue = number.toString();
System.out.println(OutputValue);Add these two methods, and you will get the code working as you needed.
format .setMaximumFractionDigits(3)
format .setMinimumFractionDigits(3);
Best regards
Aneesh A.V -
Float Data Value and Scientific Notation
Hello All,
SQL Server converts some of the float value into scientific notation for example 0.00001 will be stored as
1E-05.
Is there any simple method\formula\threshold to precisely tell when some particular value will be converted to scientific notation?
Also I think oracle store same value above i.e. 0.00001 as it is with float data type but not the case with SQL Server. Any reason for the same?
Thanks in Advance.
-MalkeshThanks Erland.
I got your point that internal storage as you mentioned will be 53 bit and 11 bit exponent of 2. However my question remains the same that is there any method\threshold from which we can say that after this numeric value stored data will be represented in
scientific notation or any rule of thumb? For example
drop
table #t
CREATE
TABLE #T (T1
FLOAT)
INSERT
INTO #T (T1)
SELECT 0.000001
INSERT
INTO #T (T1)
SELECT 0.00001
INSERT
INTO #T (T1)
SELECT 0.0001
INSERT
INTO #T (T1)
SELECT 0.001
INSERT
INTO #T (T1)
SELECT 0.01
INSERT
INTO #T (T1)
SELECT 0.1
INSERT
INTO #T (T1)
SELECT 1.
INSERT
INTO #T (T1)
SELECT 1.0
INSERT
INTO #T (T1)
SELECT 1.01
INSERT
INTO #T (T1)
SELECT 1.001
INSERT
INTO #T (T1)
SELECT 1.0001
INSERT
INTO #T (T1)
SELECT 1.00001
INSERT
INTO #T (T1)
SELECT 1.000001
INSERT
INTO #T (T1)
SELECT 1.0000001
INSERT
INTO #T (T1)
SELECT 1.00000001
INSERT
INTO #T (T1)
SELECT 1.000000001
INSERT
INTO #T (T1)
SELECT 1.0000000001
INSERT
INTO #T (T1)
SELECT 1.00000000001
INSERT
INTO #T (T1)
SELECT 1.000000000001
INSERT
INTO #T (T1)
SELECT 1.1
INSERT
INTO #T (T1)
SELECT 10.1
INSERT
INTO #T (T1)
SELECT 100.1
INSERT
INTO #T (T1)
SELECT 1000.1
INSERT
INTO #T (T1)
SELECT 10000.1
INSERT
INTO #T (T1)
SELECT 100000.1
INSERT
INTO #T (T1)
SELECT 1000000.1
INSERT
INTO #T (T1)
SELECT 10000000.1
INSERT
INTO #T (T1)
SELECT 100000000.1
INSERT
INTO #T (T1)
SELECT 1000000000.1
INSERT
INTO #T (T1)
SELECT 10000000000.1
INSERT
INTO #T (T1)
SELECT 100000000000.1
INSERT
INTO #T (T1)
SELECT 1000000000000.1
SELECT T1
FROM #T
Here you can see value < 0.0001 i.e. 0.00001 and 0.000001 both are in scientific notation. So which rule or formula drives this behavior that is what my question is. Sorry I am somewhat poor in mathematics fundamentals So if you can make it simple.
Thanks Again. -
What is format in Import data wizards
Hi All,
Can anyone please tell what the format specifies when Importing data through Data Workshop Wizard?
Thanking you,
Cheers,Hi All,
Can anyone please tell what the format specifies when Importing data through Data Workshop Wizard?
Thanking you,
Cheers,
Maybe you are looking for
-
How can I make a sub menu go up instead of down?
Client wants the menu pinned to the bottom of the page but when you hover over SERVICES the sub menus go down (off the page). Is there a way to make the menu go UP so they are readable? HOME
-
About javax.microedition.lcdui.Form class
Hi friends just tell me about the Form class in J2me . my question is that is List control can be supported by the form class OR simply we use the MIDlet class in the program Just answer me..
-
Importmanager: if condition during mapping for second field
HI, I have an xml file that has to be imported with the import manager to the repository. <Mime> <Type>image<Type> <File>abc.jpg<File> </Mime> <Mime> <Type>pdf<Type> <File>a12345.pdf<File> </Mime> In the repository we have a field
-
Object libraries and pl/sql lib
hi all, Can anybody give the difference between pl/sql and object libraries(please give in detail) thanks in advance
-
How to center site in browsers. Currently aligned left.
Please tell me how to center my website in the browser windows. It is currently lining up completely to the left with a lot of white space on the right. What code do I add and where. Thanks a lot.