2014-12-23 2 views
2

read_csv 사용하여 CSV 파일의 첫 번째 행을 읽을 수 있지만, 제대로파이썬 : 제대로 팬더를 통해 CSV 파일을 읽으려고

코드를 읽어되지 않는 것 같습니다되지 않음 : 들어

pd.read_csv(data_file_path, sep=",", index_col=0, header=0, dtype = object) 

예 : 내 데이터 (CSV 파일)입니다 : 나는 인덱스로 첫 번째 열 읽을하려고

12 1.43E+19 This is first line 101010 
23 1.43E+19 This is the second line 202020 
34 1.43E+19 This is the third line 303030 

.

출력 : 인덱스로서 1 열 않고

 1.43E+19 This is first line 101010 
12 
23 1.43E+19 This is the second line 202020 
34 1.43E+19 This is the third line 303030 

출력 :이 때문에

12 1.43E+19 This is first line 101010 
0 23 1.43E+19 This is the second line 202020 
1 34 1.43E+19 This is the third line 303030 

이 데이터에 대해 더 이상의 처리는 첫 번째 행의 데이터는 무시된다.

답변

1

header=None과 함께 "0 행을 머리글로 사용"을 의미하는 header=0을 혼동스럽게 생각합니다. "파일에서 머리글을 읽지 마십시오"를 의미합니다.

>>> pd.read_csv("h.csv", names=["Number", "Line", "Code"], index_col=0) 
      Number      Line Code 
12 1.430000e+19  This is first line 101010 
23 1.430000e+19 This is the second line 202020 
34 1.430000e+19 This is the third line 303030 

PS : 당신은 또한 names를 사용하여 열 이름을 지정할 수 있습니다

>>> pd.read_csv("h.csv", header=0, index_col=0) 
     1.43E+19  This is first line 101010 
12             
23 1.430000e+19 This is the second line 202020 
34 1.430000e+19 This is the third line 303030 
>>> pd.read_csv("h.csv", header=None, index_col=0) 
       1      2  3 
0             
12 1.430000e+19  This is first line 101010 
23 1.430000e+19 This is the second line 202020 
34 1.430000e+19 This is the third line 303030 

:

비교하면 sep=","를 사용하고 있기 때문에 그러나 당신이 어떤이없는 보여 주었다 파일 쉼표, 나는 질문을 할 때 당신이 어떤 이유로 그들을 제거했다고 가정합니다. 그렇다면 쉼표를 두려워 할 필요가 없습니다. 코드를 테스트하려면 다른 사람들이 다시 넣을 위치를 추측해야합니다.

+0

아아. 알 겠어. 나는 header = 0이 "No header"를 의미한다고 생각했다. 내 잘못이야. 그것을 지적 주셔서 감사합니다. 코드가 작동 중입니다. 그리고 CSV 파일에서 데이터를 읽으므로 여기에 파일에서 직접 데이터를 복사합니다. 혼란을 드려 죄송합니다. – Himanshu

관련 문제