Issue
I am trying to modify a raw data .txt file to be reprocessed by a software.
Problem is, that software needs additional parameters that are in the text file before the data table.
As such, df.to_csv
overwrites the lines which I need.
The string approach was successful but would not let me use '\t'
separators
#Building example dataframe
index = [0,1,2,3,4,5]
t = pd.Series([2,6,9,8,10,12],index= index)
s = pd.Series([7,2,6,8,5,9],index= index)
df = pd.DataFrame({'Time (s)':t,'X Position':x})
file="C:/Users/user/Desktop/example.txt"
f = open(file, "w")
f.write(f"Multiple\nlines\ngo here\n\n")
f.close()
with open(file, 'a') as f:
dfAsString = df.to_string(index=False)
f.write(dfAsString)
f.close()
This gives the following .txt output:
Multiple
lines
go here
Time (s) X Position
2 7
6 2
9 6
8 8
10 5
12 9
I need to add this dataframe to the file but also need the output to be tab separated without affecting the text above. Help is very welcome.
Solution
You can use to_csv to append new dataframe (tab separated) to an existing file:
file="example.txt"
f = open(file, "w")
f.write(f"Multiple\nlines\ngo here\n\n")
f.close()
df.to_csv(file, mode='a', index=False, header=True, sep = "\t")
The output of this is:
Multiple
lines
go here
Time (s) X Position
2 7
6 2
9 6
8 8
10 5
12 9
Answered By - Omar
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.