Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 프로그래밍에서 csv 파일 작업

<시간/>

CSV 파일 또는 쉼표로 구분된 값 파일은 플랫폼 간에 데이터를 저장하고 공유하는 데 가장 널리 사용되는 플랫 파일 중 하나입니다. 열은 쉼표로 구분되며 각 열의 이름을 나타내는 선택적 헤더 행도 있습니다. Python은 많은 모듈을 사용하여 CSV 파일을 읽을 수 있습니다. 이 기사에서는 python의 CSV 라이브러리를 사용하여 CSV 파일을 읽고 쓰는 방법을 살펴보겠습니다. CSV 파일을 읽기 위해 pandas 라이브러리만 볼 수도 있습니다.

csv 모듈을 사용하여 CSV 파일 읽기

(https://www.guru99.com/python-csv.html)

에서 CSV 파일을 얻을 수 있습니다.

예시

열린 csv('C:\\iris.csv','rt')를 파일로 가져오기:csv_rows =csv_rows의 행에 대한 csv.reader(file):print(row)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

['sepal.length', 'sepal.width', 'petal.length', 'petal.width', '다양한']['5.1', ​​'3.5', '1.4', '.2', '세토사']['4.9', '3', '1.4', '.2', '세토사']['4.7', '3.2', '1.3', '.2', '세토사'][' 4.6', '3.1', '1.5', '.2', '세토사']['5', '3.6', '1.4', '.2', '세토사']['5.4', '3.9' , '1.7', '.4', '세토사']['4.6', '3.4', '1.4', '.3', '세토사']…> 

Pandas를 사용하여 CSV 파일 읽기

Pandas 라이브러리를 사용하여 csv 파일을 읽을 수도 있습니다. 경로와 파일명을 생략하고 직접 적용할 수 있는 csv를 읽는 방법이 있습니다. 파일을 읽으면 데이터 세트가 되고 필요에 따라 데이터 세트의 다른 부분을 인쇄할 수 있습니다.

예시

Pandas as pddatainput =pd.read_csv('C:\\iris.csv')print("Given dataset values ​​:\n", datainput)#size of datasetprint("\n데이터 세트의 크기는 다음과 같습니다. \n",datainput.shape)#데이터 세트에서 몇 개의 행 인쇄print("\n 데이터 세트에서 몇 개의 행 인쇄:\n",datainput[0:6])

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다 -

주어진 데이터셋 값 :sepal.length sepal.width 꽃잎.length 꽃잎.width 다양성0 5.1 3.5 1.4 0.2 Setosa1 4.9 3.0 1.4 0.2 Setosa2 4.7 3.2 1.3 0.2 Setosa3 4.2 Setosa3 4.6 3.1 1.34 5 .. ... ... ... ...145 6.7 3.0 5.2 2.3 Virginica146 6.3 2.5 5.0 1.9 Virginica147 6.5 3.0 5.2 2.0 Virginica148 6.2 3.4 5.4 2.3 Virginica146 6.3 2.5 5.0 1.9 Virginica148 6.2 3.4 5.4 2.3 Virginica14905 데이터 세트의 크기 is :(150, 5) 데이터 세트에서 몇 개의 행을 인쇄합니다. sepal.leng Setth sepal.width 꽃잎.length 꽃잎.width 다양성0 5.1 3.5 1.4 0.2 Setosa1 4.9 3.0 1.4 0.2 Setosa2 4.7 3.2 1.3 0.2 Setosa3 4.6 3.1 1.5 0.2 Setosa4 5.1 1.5 0.2 Setosa4 5.1 1.5 0.2 Setosa4 51.0 5.0 

csv 모듈을 사용하여 CSV 파일 작성

csv 파일을 생성하기 위해 Python 목록을 사용하여 각 행을 포함하는 데이터 세트를 목록으로 선언하고 모든 행은 큰 가수 목록의 하위 목록입니다. 또한 헤더 행을 나타내는 다른 데이터 세트도 생성합니다. 그런 다음 writerow() 및 csv.writer와 같은 다양한 방법을 사용하여 최종적으로 파일을 로컬 시스템에 씁니다.

예시

csvdata 가져오기 =["월", "1958", "1959", "1960"]x =[["JAN", 340, 360, 417],["FEB", 318, 342, 391], ["3월", 362, 406, 419],["4월", 348, 396, 461],["5월", 363, 420, 472],["6월", 435, 472, 535],[" JUL", 491, 548, 622],["AUG", 505, 559, 606],["SEP", 404, 463, 508],["OCT", 359, 407, 461],["NOV" , 310, 362, 390],["DEC", 337, 405, 432],]y ="C:\\years.csv" 작업으로 open(y, 'w') 사용:z =csv.writer( 작업) z.writerow(데이터) z.writerows(x)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

 달, 1958,1959,1960JAN, 340,360,417FEB, 318,342,391MAR, 362,406,419APR, 348,396,461MAY, 363,420,472JUN, 435,472,535JUL, 491,548,622AUG, 505,559,606SEP, 404,463,508OCT, 359,407,461NOV, 310,362,390DEC, 337,405,432  

팬더를 사용하여 CSV 파일 작성

팬더를 사용하면 국가가 행과 행의 헤더인 데이터 프레임을 생성할 수 있습니다. 그런 다음 파일 이름과 경로를 매개변수로 텍스트로 지정하고 데이터를 csv 파일로 구동하는 to_csv 메소드를 사용합니다.

예시

판다 가져오기 DataFrameC ={'월':['JAN','FEB', 'MAR'], '1958':['345', '435', '545'], '1959':[ '377', '135', '985'], '1960':['498', '354', '765'],}df =DataFrame(C, 열 =["월", "1958", " 1959", "1960"])export_csv =df.to_csv (r'C:\\years_p.csv', index =None, header=True) # 여기에 결과 파일이 저장될 경로를 작성해야 합니다.print (df) 

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

 1958년 1959년 19600년 1월 345 377 4981 2월 435 135 3542 3월 545 985 765