0
Python how can I append data to a csv file without over-writing other colums?
I am trying to write a code that receives list data and append it to different columns without overwriting existing columns.
4 Answers
+ 2
Use the append file mode, "a", in the open statement.
+ 2
Karzan
You can read the csv first using pandas then concatenate your data, then save to a new file.
import pandas as pd
df_1 = read_csv(" file ")
dict = { column_name : contents, ... }
df_2 = pd.DataFrame(dict)
new_df = df.concat( [df_1, df_2], axis = 0)
# concatenate vertically
new_df = df.concat( [df_1, df_2], axis = 1)
# concatenate horizontally
new_df.to_csv("new file")
+ 1
This is what I mean: open("myfile.csv", "a")
The "a" lets you add new rows at the end of the file without overwriting existing rows. Also if the file does net yet exist, then it creates the file for you and lets you write to it.
So I had in mind that you wanted to add more rows. But did you mean to extend existing rows by adding more columns to the rows? If so, then you will have to rewrite the whole file from beginning to end with the original data plus the added columns. I recommend reading the original file as read only ("r"), updating the row data in memory, and writing the result to a different output file.
0
Brian can you please share an example?