?
Solved

CSV vs Text delimited file

Posted on 2010-08-26
12
Medium Priority
?
1,157 Views
Last Modified: 2012-05-10
In the case where data files are required to be gathered from different sites, then uploaded into a SQL Server database, which is better to use and why? CSV files or Text delimited files (with a pipe delimiter for example)?
0
Comment
Question by:DBADS
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +5
12 Comments
 
LVL 3

Expert Comment

by:sasi_kmr
ID: 33528850
csv file are for more better to manage data and format the data.

text files are not convenient to work with.

thanks.
$a$i
0
 
LVL 8

Accepted Solution

by:
kingjely earned 126 total points
ID: 33528876

Agreed, easy to work with the data in .csv format

Heres how to load the data in mysql

LOAD DATA INFILE
'Drive:/path/filename.csv'
INTO TABLE yourtable
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n';

If you want to exclude the headings(the first line or lines)

EG:

LOAD DATA INFILE
'Drive:/path/filename.csv'
INTO TABLE yourtable
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;

Kj
0
 

Author Comment

by:DBADS
ID: 33528921
But in what way is the CSV better than text files?
Would you please specify cases where CSV was better than Text?
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 11

Assisted Solution

by:tickett
tickett earned 126 total points
ID: 33528973
CSV is essentially a text file

I actually tend to use pipe delimited for my imports/exports these days as i find data is a lot less likely to contain pipes than contain commas, quotation marks etc (which potentially breaks the file!)

L
0
 
LVL 2

Assisted Solution

by:akramryk
akramryk earned 126 total points
ID: 33529004
CSV and other text format other tan XML have same processing time. In both cases databse search for delimiter to seperate field values.
There is one drawback in using CSV when your data columns has commas ","  then u get unexpected results. While in using other delimitters (like special cahracters as pype "I" sign ) you can avoid such errors.
0
 
LVL 8

Assisted Solution

by:infolurk
infolurk earned 126 total points
ID: 33529072
CSV stands for Comma Seperated value text file. They are easy to read in raw format, generally regarded as industry standard.
0
 
LVL 8

Expert Comment

by:infolurk
ID: 33529080
CSV is a text file, the reason they are useful is because they are easily imported into multi column formats such as spreadsheets and databases.
0
 
LVL 23

Assisted Solution

by:Saqib Khan
Saqib Khan earned 123 total points
ID: 33529216
CSV or TXT file... its same thing.

CSV...
its easy to create CSV file, say if you want your application to generate a CSV file and would like Ms Excel to open it by default. as mentioned above problem is with extra "," in the column values. this coul dbe avoided by text text qualifers( " around text).

TXT

Same process time as CSV, only thing is it has .txt extension, and would need to imported into MS EXCEL.
0
 
LVL 11

Expert Comment

by:tickett
ID: 33529227
The extension is also not important. I often use .dat extension for my pipe delimited files.

Using text qualifiers doesn't always help in CSV (imagine i have a field which also contains those text qualifiers!

L
0
 
LVL 2

Assisted Solution

by:dirkvdo
dirkvdo earned 123 total points
ID: 33529364
@tickett : single character delimiters are indeed not always possible. Therefore, if I can (i.e. I scripted the creation of the file myself), I use a multi-character delimiter (usually something like %/µ). These files can also be read by Excel, but you need two steps more to import them (open the file with excel, select first column and perform "text to columns" action, using the multi-character delimiter you used ... et voilà).
With the instruction given by kingjely, you'll have to replace the ',' in the line
FIELDS TERMINATED BY ','
by something corresponding with the chosen multi-character delimiter.
0
 
LVL 11

Expert Comment

by:tickett
ID: 33529401
@dirkvdo: true- but you have to be careful opening the file with excel (it has a nasty habbit of "guessing" the file is .csv and automatically splitting columns. when you then do your "text-to-columns" operation your data gets a bit messed

but i expect we've covered what @sasi_kmr wanted to know :)

L
0
 

Author Closing Comment

by:DBADS
ID: 33552204
There was no decisive or recommended appraoch but the discussion is rich enough
0

Featured Post

Moving data to the cloud? Find out if you’re ready

Before moving to the cloud, it is important to carefully define your db needs, plan for the migration & understand prod. environment. This wp explains how to define what you need from a cloud provider, plan for the migration & what putting a cloud solution into practice entails.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this blog post, we’ll look at how ClickHouse performs in a general analytical workload using the star schema benchmark test.
This article shows how to get a list of available printers for display in a drop-down list, and then to use the selected printer to print an Access report or a Word document filled with Access data, using different syntax as needed for working with …
Via a live example, show how to setup several different housekeeping processes for a SQL Server.
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question