잔 프로 - 제6회 ~.csv를 python으로 편집~
간단한 흐름
1.pandas.read_csv에서 csv 파일을 일괄로드
2. itertuples 메소드로 얻은 반복자를 for 문으로 돌려 한 줄씩 분석
3.요소의 갱신에는 at 또는 iat를 이용해 개별적으로 조작(replace등을 사용하면 정리해의 갱신이 가능)
4.to_csv로 쓰기
샘플.py
함수로 구현하면 다음과 같습니다.
import pandas as pd
def csvEdit(path_csv):
csv = pd.read_csv(path_csv)
for row in csv.itertuples():
csv.at[row[0], 'hoge'] = huga
csv.to_csv(path_csv)
조금 itertuples에 대해 설명합니다. row에 저장되는 튜플이지만, 이것에는 선두에 index명, 그리고 그 행의 데이터가 포함되어 있습니다. row는 단순한 카피이므로 대입 등의 요소 조작은 원 데이터인 csv에 가 주세요.
또한 csv 파일의 형태에 따라 iterrows 메서드를 사용하는 것이 좋습니다. 인덱스를 명기하고 있는 경우나 특별히 취급할 필요가 있는 경우군요.
실행 예
방금 전의 함수내에 print를 더해 실행해 보겠습니다. encoding, index의 지정도 해 둡니다.
실행 전
sample.pyimport pandas as pd
def csvEdit(path_csv):
csv = pd.read_csv(path_csv, encoding='utf-8')
for row in csv.itertuples():
csv.at[row[0], 'weight'] -= 5
print(row)
csv.to_csv(path_csv, encoding='utf-8', index=False)
if __name__ == '__main__':
_ = csvEdit("sample.csv")
terminalPandas(Index=0, name='marcello', height=183, weight=80, other=nan)
Pandas(Index=1, name='david', height=190, weight=80, other=9.0)
Pandas(Index=2, name='lilian', height=185, weight=79, other=nan)
Pandas(Index=3, name='paolo', height=179, weight=74, other=nan)
실행 후
모두 5kg의 체중 감소에 성공했습니다!
다음 번 - 제 7 회에서는 ...
행당 데이터 수를 늘립니다. deadline에 세세하게 시간까지 설정할 수 있도록 하거나 습관의 경우는 요일 지정을 할 수 있도록 할 예정입니다.
Reference
이 문제에 관하여(잔 프로 - 제6회 ~.csv를 python으로 편집~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/R1nY1x1/items/63bfbdc2e0b3b28b84a4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
함수로 구현하면 다음과 같습니다.
import pandas as pd
def csvEdit(path_csv):
csv = pd.read_csv(path_csv)
for row in csv.itertuples():
csv.at[row[0], 'hoge'] = huga
csv.to_csv(path_csv)
조금 itertuples에 대해 설명합니다. row에 저장되는 튜플이지만, 이것에는 선두에 index명, 그리고 그 행의 데이터가 포함되어 있습니다. row는 단순한 카피이므로 대입 등의 요소 조작은 원 데이터인 csv에 가 주세요.
또한 csv 파일의 형태에 따라 iterrows 메서드를 사용하는 것이 좋습니다. 인덱스를 명기하고 있는 경우나 특별히 취급할 필요가 있는 경우군요.
실행 예
방금 전의 함수내에 print를 더해 실행해 보겠습니다. encoding, index의 지정도 해 둡니다.
실행 전
sample.pyimport pandas as pd
def csvEdit(path_csv):
csv = pd.read_csv(path_csv, encoding='utf-8')
for row in csv.itertuples():
csv.at[row[0], 'weight'] -= 5
print(row)
csv.to_csv(path_csv, encoding='utf-8', index=False)
if __name__ == '__main__':
_ = csvEdit("sample.csv")
terminalPandas(Index=0, name='marcello', height=183, weight=80, other=nan)
Pandas(Index=1, name='david', height=190, weight=80, other=9.0)
Pandas(Index=2, name='lilian', height=185, weight=79, other=nan)
Pandas(Index=3, name='paolo', height=179, weight=74, other=nan)
실행 후
모두 5kg의 체중 감소에 성공했습니다!
다음 번 - 제 7 회에서는 ...
행당 데이터 수를 늘립니다. deadline에 세세하게 시간까지 설정할 수 있도록 하거나 습관의 경우는 요일 지정을 할 수 있도록 할 예정입니다.
Reference
이 문제에 관하여(잔 프로 - 제6회 ~.csv를 python으로 편집~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/R1nY1x1/items/63bfbdc2e0b3b28b84a4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import pandas as pd
def csvEdit(path_csv):
csv = pd.read_csv(path_csv, encoding='utf-8')
for row in csv.itertuples():
csv.at[row[0], 'weight'] -= 5
print(row)
csv.to_csv(path_csv, encoding='utf-8', index=False)
if __name__ == '__main__':
_ = csvEdit("sample.csv")
Pandas(Index=0, name='marcello', height=183, weight=80, other=nan)
Pandas(Index=1, name='david', height=190, weight=80, other=9.0)
Pandas(Index=2, name='lilian', height=185, weight=79, other=nan)
Pandas(Index=3, name='paolo', height=179, weight=74, other=nan)
행당 데이터 수를 늘립니다. deadline에 세세하게 시간까지 설정할 수 있도록 하거나 습관의 경우는 요일 지정을 할 수 있도록 할 예정입니다.
Reference
이 문제에 관하여(잔 프로 - 제6회 ~.csv를 python으로 편집~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/R1nY1x1/items/63bfbdc2e0b3b28b84a4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)