pandas`にcsvファイルを読み込んでいます。このcsvファイルは4つの列といくつかの行で構成されていますが、ヘッダー行がありません。以下の方法を試しています:
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にヘッダ行を追加するクリーンな方法は何でしょうか?
namesは[
read_csv`]1で直接使うことができる。
names : array-like, default None 使用するカラム名のリスト。ファイル ファイルにヘッダ行がない場合は、明示的に header=None を渡す必要があります。
Cov = pd.read_csv("path/to/file.txt",
sep='\t',
names=["Sequence", "Start", "End", "Coverage"])
あるいは、header=None
でcsvを読み込み、df.columns
で追加することもできる:
Cov = pd.read_csv("path/to/file.txt", sep='\t', header=None)
Cov.columns = ["Sequence", "Start", "End", "Coverage"]
col_Names=["Sequence", "Start", "End", "Coverage"]
my_CSV_File= pd.read_csv("yourCSVFile.csv",names=col_Names)
で確認してみてください。それでも...
my_CSV_File.head()
それが助けになることを願っています...乾杯
コードを修正するには、単に「[Cov]」を「Cov.values」に変更できます。 pd.DataFrame
の最初のパラメーターは、多次元の「numpy」配列になります。
Cov = pd.read_csv("path/to/file.txt", sep='\t')
Frame=pd.DataFrame(Cov.values, columns = ["Sequence", "Start", "End", "Coverage"])
Frame.to_csv("path/to/file.txt", sep='\t')
ただし、最も賢いソリューションは、「ヘッダー=なし」と「names = columns_list」を使用して「pd.read_excel」を使用することです。