如何将数据框导出到现有的格式化的csv文件?

时间:2019-08-23 23:16:52

标签: python pandas csv

我正在尝试将数据框导出到现有的格式化的csv文件中,但是该数据框一直以垂直形式附加,而附加的标头应该是水平的。

A B C D E F
1 2 3 4 5 6   #=-> This is the format I have in my exisiting csv file

A B C D E F
1 2 3 4 5 6
x x x x x x   #-> This is how I want to do it

A B C D E F
1 2 3 4 5 6
A 1
B 2
C 3 
D 4  #-> This is what's currently happening

任何帮助将不胜感激。谢谢!

df.iloc[location].to_csv(path,mode='a')

这是我一直在尝试的代码。

3 个答案:

答案 0 :(得分:4)

df.iloc[location]可以为您提供Series,与DataFrame相比,

您将不得不将其转换为DataFrame,但是将列表与此Series结合使用才能在行而不是列中获取数据

df = pd.DataFrame( [df.iloc[location]] )

,然后保存到没有标题的csv

df.to_csv(path, mode='a', header=None)

编辑:您还可以使用SeriesDataFrame转换为.to_frame(),然后使用.T将列转置为行

df = df.iloc[location].to_frame().T

答案 1 :(得分:2)

您不清楚要发生这种情况的情况,但是一种好的通用方法是

df1 = pd.read_csv(...)      # Read the file.
df2 = pd.DataFrame(...)     # Make a DataFrame of the new entries you want to add.
df = pd.concat([df1, df2])  # Concatenate the two.
df.to_csv(...)              # Write the file to the original directory.

答案 2 :(得分:0)

    a   b   id  val
0   1   4   aa  a
1   1   4   bb  b
2   2   5   aa  a
3   2   5   bb  b
4   3   6   aa  a
5   3   6   bb  b