Python 在不带标题的表中读取

Python 在不带标题的表中读取,python,pandas,Python,Pandas,如何使用pandas读取.csv文件(没有标题)和只需要列的子集(例如总共20列中的第4列和第7列)?我似乎无法执行usecols确保指定passheader=None并为第4列和第7列添加usecols=[3,6]。为了读取没有标题的csv,并且仅为某些列,您需要传递参数header=None和usecols=[3,6]对于第4列和第7列: df = pd.read_csv(file_path, header=None, usecols=[3,6]) 请看前面的答案是好的和正确的,但在我看来

如何使用pandas读取.csv文件(没有标题)和只需要列的子集(例如总共20列中的第4列和第7列)?我似乎无法执行
usecols

确保指定pass
header=None
并为第4列和第7列添加
usecols=[3,6]

为了读取没有标题的csv,并且仅为某些列,您需要传递参数
header=None
usecols=[3,6]
对于第4列和第7列:

df = pd.read_csv(file_path, header=None, usecols=[3,6])

请看

前面的答案是好的和正确的,但在我看来,一个额外的
名称
参数将使其更加完美,并且应该是推荐的方式,特别是当csv没有
标题时

解决方案 使用
usecols
名称
参数 补充阅读 或者使用
header=None
明确告诉人们
csv
没有标题(无论如何,两行都相同

这样您就可以通过

# with `names` parameter
df['colA']
df['colB'] 
而不是

# without `names` parameter
df[0]
df[1]
说明 基于,当显式传递
名称
时,
标题
的行为类似于
,而不是
0
,因此当
名称
存在时,可以跳过
标题=无

如文档所示: headerint,整型列表,默认“推断” 要用作列名的行号,以及数据的开头。默认行为是推断列名:如果未传递任何名称,则该行为与header=0相同,并且从文件的第一行推断列名,如果显式传递列名,则该行为与header=None相同。显式传递header=0,以便能够替换现有名称。标题可以是整数列表,指定列上多索引的行位置,例如[0,1,3]。将跳过未指定的中间行(例如,本例中跳过2行)。请注意,如果skip_blank_lines=True,此参数将忽略注释行和空行,因此header=0表示数据的第一行,而不是文件的第一行

类似于数组的名称,可选 要使用的列名列表。如果文件包含标题行,则应显式传递header=0以覆盖列名。此列表中不允许有重复项

columts = ['Day', 'PLMN', 'RNCname']
tempo = pd.read_csv("info.csv", sep=';', header=0, names=columts, index_col=False)

发现您的解决方案很有用。这对我来说是新的==>usecols=[3,6]。
# without `names` parameter
df[0]
df[1]
columts = ['Day', 'PLMN', 'RNCname']
tempo = pd.read_csv("info.csv", sep=';', header=0, names=columts, index_col=False)