如何将标题行添加到pandasDataFrame中
我正在读csv文件到pandas
。 这个csv文件是由四列和一些行构成的,但是没有我想要添加的标题行。 我一直在尝试以下几点:
Cov = pd.read_csv("path/to/file.txt", sep='\t') Frame=pd.DataFrame([Cov], columns = ["Sequence", "Start", "End", "Coverage"]) Frame.to_csv("path/to/file.txt", sep='\t')
但是,当我应用代码,我得到以下错误:
ValueError: Shape of passed values is (1, 1), indices imply (4, 1)
错误究竟意味着什么? 什么是一个干净的方式在Python中添加一个标题行到我的csv文件/ pandas df?
您可以直接在read_csv
使用names
名称:类似数组,缺省值无要使用的列名称的列表。 如果文件不包含标题行,那么你应该明确地传递header = None
Cov = pd.read_csv("path/to/file.txt", sep='\t', names = ["Sequence", "Start", "End", "Coverage"])
下面的行将不会像你所期望的那样工作。 Cov
已经是一个数据框,假设它从文件中读取时确实有4列。
Frame=pd.DataFrame([Cov], columns = ["Sequence", "Start", "End", "Coverage"])
或者,你可以阅读你的CSV与header=None
,然后添加它与df.columns
:
Cov = pd.read_csv("path/to/file.txt", sep='\t', header=None) Cov.columns = ["Sequence", "Start", "End", "Coverage"]