我有一个data.csv文件,结构如下:
n John Smith stats Sam Williams stats
1 23.4 44.1
2 32.1 33.5
3 42.0 42.1
Run Code Online (Sandbox Code Playgroud)
目前我正在使用gnuplot中的以下命令进行绘图:
plot 'data.csv' using 1:2 title 'John' with lines, '' using 1:3 title 'Sam' with lines
Run Code Online (Sandbox Code Playgroud)
问题是如何从.csv的第一行检索名字而不是手动输入它们?
另外,如果我在表格中添加一列,是否可以调整它,所以它会自动添加另一行具有相应标题的行?
关于SO的这个话题已经问了很多问题。(以及许多其他)。到目前为止,在众多答案中,没有一个对我有真正的帮助。如果我错过 了有用的,请告诉我。
我只是想将带有熊猫的CSV文件读入数据框。听起来很简单。
我的档案 Test.csv
1,2,3,4,5
1,2,3,4,5,6
,,3,4,5
1,2,3,4,5,6,7
,2,,4
Run Code Online (Sandbox Code Playgroud)
我的代码:
import pandas as pd
df = pd.read_csv('Test.csv',header=None)
Run Code Online (Sandbox Code Playgroud)
我的错误:
pandas.errors.ParserError: Error tokenizing data. C error: Expected 5 fields in line 2, saw 6
Run Code Online (Sandbox Code Playgroud)
我对这个问题的猜测是,Pandas查找第一行,并期望接下来的行中具有相同数量的令牌。如果不是这种情况,它将以错误停止。
在众多答案中,使用选项的建议例如:
error_bad_lines=False或header=None或skiprows=3更多无用的建议。
但是,我不想忽略任何行或跳过。而且我不预先知道数据文件有多少列和行。
因此,基本上可以归结为如何找到数据文件中的最大列数。这是要走的路吗?我希望有一种简单的方法可以简单地读取第一行中没有最大列号的CSV文件。谢谢您的提示。我在Win7上使用Python 3.6.3,Pandas 0.24.1。