seq*_*ard 137 python csv header pandas
我正在读一个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')
Run Code Online (Sandbox Code Playgroud)
但是当我应用代码时,我收到以下错误:
ValueError: Shape of passed values is (1, 1), indices imply (4, 1)
Run Code Online (Sandbox Code Playgroud)
这个错误究竟是什么意思?在python中添加标题行到我的csv文件/ pandas df会是一个干净的方法吗?
Leb*_*Leb 202
你可以names直接使用read_csv
names:array-like,default无要使用的列名列表.如果文件不包含标题行,则应显式传递header = None
Cov = pd.read_csv("path/to/file.txt",
sep='\t',
names=["Sequence", "Start", "End", "Coverage"])
Run Code Online (Sandbox Code Playgroud)
下面的行不会按预期工作.names已经是一个数据帧,假设它从文件中读取时确实有4列.
Cov = pd.read_csv("path/to/file.txt",
sep='\t',
names=["Sequence", "Start", "End", "Coverage"])
Run Code Online (Sandbox Code Playgroud)
Ant*_*pov 108
或者你可以用c读取你的csv header=None然后添加它df.columns:
Cov = pd.read_csv("path/to/file.txt", sep='\t', header=None)
Cov.columns = ["Sequence", "Start", "End", "Coverage"]
Run Code Online (Sandbox Code Playgroud)
小智 22
简单易行的解决方案:
import pandas as pd
df = pd.read_csv("path/to/file.txt", sep='\t')
headers = ["Sequence", "Start", "End", "Coverage"]
df.columns = headers
Run Code Online (Sandbox Code Playgroud)
注意:确保您的标头长度和 CSV 文件标头长度不应不匹配。
小智 10
col_Names=["Sequence", "Start", "End", "Coverage"]
my_CSV_File= pd.read_csv("yourCSVFile.csv",names=col_Names)
Run Code Online (Sandbox Code Playgroud)
做完这个,只需检查一下[显然我知道,你知道.但还是......
my_CSV_File.head()
Run Code Online (Sandbox Code Playgroud)
希望它有所帮助......干杯
小智 6
要修改你的代码你可以简单地[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')
Run Code Online (Sandbox Code Playgroud)
但最聪明的解决方案仍然是使用pd.read_excel与header=None和names=columns_list.
| 归档时间: |
|
| 查看次数: |
319981 次 |
| 最近记录: |