我正在尝试将数据框导出到现有的格式化的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')
这是我一直在尝试的代码。
答案 0 :(得分:4)
df.iloc[location]
可以为您提供Series
,与DataFrame
相比,
您将不得不将其转换为DataFrame
,但是将列表与此Series
结合使用才能在行而不是列中获取数据
df = pd.DataFrame( [df.iloc[location]] )
,然后保存到没有标题的csv
df.to_csv(path, mode='a', header=None)
编辑:您还可以使用Series
将DataFrame
转换为.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