dlwlrma
dlwlrma

Reputation: 33

How to change a .csv file to .dat file using pandas?

For example, the csv file looks like this: csv content. How to change it to .dat file like this using '|':

a 1|b 2|c 3|d 4|...
a 2|b 3|c 4|d 5|...
a 3|b 4|c 5|d 6|...
...

Upvotes: 3

Views: 12028

Answers (2)

piRSquared
piRSquared

Reputation: 294506

Consider the dataframe df

df = pd.DataFrame([
    [1, 2, 3, 4],
    [2, 3, 4, 5],
    [3, 4, 5, 6]
], columns=list('abcd'))

   a  b  c  d
0  1  2  3  4
1  2  3  4  5
2  3  4  5  6

IIUC

df.astype(str).radd(
    df.columns.to_series() + ' '
).to_csv('test.data', header=None, index=None, sep='|')

cat test.data

a 1|b 2|c 3|d 4
a 2|b 3|c 4|d 5
a 3|b 4|c 5|d 6

Upvotes: 1

patrick
patrick

Reputation: 4852

If df is your dataframe, do

import pandas
df.to_csv("output.dat", sep = "|")

You can check the docs for more settings and info.

(If you have not read the csv file into pandas yet, it's easy:

df = pandas.read_csv("input.csv")

Upvotes: 2

Related Questions