Min*_*rny 5 python csv header dataframe pandas
我有一个 csv 数据框,除了列之外,我想用一个额外的标题保存它。熊猫必须在没有标题的情况下读取我的文件:
pd.read_csv('file.csv', header=2)
Run Code Online (Sandbox Code Playgroud)
编辑 csv 文件后,我想用新的标题保存它,例如它应该是这样的:
no rows = 4
no cols = 3
index, col1, col2, col3
0, A, B, C
1, D, E, F
2, G, H, I
3, J, L, M
Run Code Online (Sandbox Code Playgroud)
但是to_csv根据文档(https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html),函数中的标题参数似乎依赖于作为别名的列
标题会将每一行算作一个单元格,因此是 1col x 2row df。我想过附加这两个,但由于列不相等,它不起作用。有没有一种简单的方法可以将独立的标题添加到 csv 文件?
我找不到有关此问题的帖子,任何帮助将不胜感激!
所以,当你想将文件without头读入 pandas 时。做:
df = pd.read_csv('file.csv', header=None)
现在,在完成所有类型的处理后df,您可以column_names根据您的选择进行分配,例如:
col_list = ['col1','col2','col3']
df.columns = col_list
Run Code Online (Sandbox Code Playgroud)
现在,df使用以下命令将其写回 csv to_csv:
df.to_csv('/new_file.csv', index=None, header=None)
Run Code Online (Sandbox Code Playgroud)
您可以将两行标题粘贴到该文件的顶部,如下所示:
with open('/new_file.csv', 'r+') as f:
content = f.read()
f.seek(0, 0)
f.write('my_2-line_header' + '\n' + content)
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。