简体   繁体   中英

Load columns x1,x2,x3.. with headers: 0,1,

I'm new to python, and having an extremely frustrating problem. I need to load the columns 1-12 of a csv files (so not the 0th column), but I need to skip the header of the excel, and overwrite it with "0,1,..,11" I need to use panda.read_csv() for this.

basically, my csv is:

"a", "b", "c", ..., "l"
  1,   2,   3, ...,  12
  1,   2,   3, ...,  12

and I want to load it as a dataframe such that

dataframe[0] = 2,2,2,..
dataframe[1] = 3,3,3..

ergo skipping the first column, and making the dataframe start with index 0. I've tried setting usecols = [1,2,3..] , but then the indexes are 1,2,3,.. .

Any help would be grateful.

You can use header=(int) to remove the header lines, usecols=range(1,12) to grab the last 11 columns, and names=range(11) to name the 11 columns from 0 to 10.

Here is a fake dataset:

This is the header.  Header header header.
And the second header line.  
a,b,c,d,e,f,g,h,i,j,k,l
1,2,3,4,5,6,7,8,9,10,11,12
1,2,3,4,5,6,7,8,9,10,11,12
1,2,3,4,5,6,7,8,9,10,11,12

Using the code:

> df = pd.read_csv('data_file.csv', usecols=range(1,12), names=range(11), header=2)
> df
# returns:
    0   1   2   3   4   5   6   7   8   9  10
0   2   3   4   5   6   7   8   9  10  11  12
1   2   3   4   5   6   7   8   9  10  11  12
2   2   3   4   5   6   7   8   9  10  11  12

> df[0]
# returns:
0    2
1    2
2    2

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM