이 문서의 내용은 Python에서 Pandas의 Excel 작업 가이드(코드 예제)를 읽고 수정하는 내용입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
환경: python 3.6.8
특정 Miser 번호를 예로 들어 보겠습니다.
>>> pd.read_excel('1.xlsx', sheet_name='Sheet2') 名字 等级 属性1 属性2 天赋 0 四九幻曦 100 自然 None 21 1 圣甲狂战 100 战斗 None 0 2 时空界皇 100 光 次元 27
여기서 pd.read_excel()
함수를 사용하여 Excel을 읽습니다. , read_excel()
메소드의 API를 살펴보십시오. 다음은 일반적으로 사용되는 매개변수 중 일부입니다: pd.read_excel()
函数来读取excel,来看一下read_excel()
这个方法的API,这里只截选一部分经常使用的参数:
pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None)
io
:很明显, 是excel文件的路径+名字字符串
(有中文的话python2
的老铁需要使用decode()
来解码成unicode字符串
)
例如:
>>> pd.read_excel('例子'.decode('utf-8))
sheet_name
:返回指定的sheet
如果将sheet_name
指定为None
,则返回全表
如果需要返回多个表, 可以将sheet_name
指定为一个列表, 例如['sheet1', 'sheet2']可以根据
sheet
的名字字符串或索引来值指定所要选取的sheet
>>> # 如: >>> pd.read_excel('1.xlsx', sheet_name=0) >>> pd.read_excel('1.xlsx', sheet_name='Sheet1') >>> # 返回的是相同的 DataFrame
header:指定数据表的表头,默认值为0, 即将第一行作为表头
usecols:读取指定的列, 也可以通过名字或索引值
>>> # 如: >>> pd.read_excel('1.xlsx', sheet_name=1, usecols=['等级', '属性1']) >>> pd.read_excel('1.xlsx', sheet_name=1, usecols=[1,2]) >>> # 返回的是相同的 DataFrame
直到某一天泰格尔升了一级, 可以这样改一下, 当然用.iloc
或.loc
对象都可以
>>> # 读取文件 >>> data = pd.read_excel("1.xlsx", sheet_name="Sheet1") >>> # 找到 等级 这一列,再在这一列中进行比较 >>> data['等级'][data['名字'] == '泰格尔'] += 1 >>> print(data)
LOOK!他升级了!!
>>> data 名字 等级 属性1 属性2 天赋 0 艾欧里娅 100 自然 冰 29 1 泰格尔 81 电 战斗 16 2 布鲁克克 100 水 None 28
现在我们将它保存
data.to_excel('1.xlsx', sheet_name='Sheet1', index=False, header=True)
index:默认为True
, 是否加行索引, 直接上图吧!
左为False
, 右为True
header:默认为True
, 是否加列标, 上图吧!
左为False
, 右为True
而io, sheet_name
参数用法同函数pd.read_excel()
如果我们多捕捉几只或者多加几种属性怎么办呢?这里给出参考:
新增列数据:
data['列名称'] = [值1, 值2, ......]
>>> data['特性'] = ['瞬杀', 'None', '炎火'] >>> data 名字 等级 属性1 属性2 天赋 特性 0 艾欧里娅 100 自然 冰 29 瞬杀 1 泰格尔 80 电 战斗 16 None 2 布鲁克克 100 水 None 28 炎火
新增行数据,这里行的num为excel中自动给行加的id数值
data.loc[行的num] = [值1, 值2, ...], (注意与.iloc
的区别)
>>> data.loc[3] = ['小火猴', 1, '火', 'None', 31, 'None'] >>> data 名字 等级 属性1 属性2 天赋 特性 0 艾欧里娅 100 自然 冰 29 瞬杀 1 泰格尔 80 电 战斗 16 None 2 布鲁克克 100 水 None 28 炎火 3 小火猴 1 火 None 31 None
说完了增加一行或一列,那怎样删除一行或一列呢?可以使用.drop()
>>> # 删除列, 需要指定axis为1,当删除行时,axis为0 >>> data = data.drop('属性1', axis=1) # 删除`属性1`列 >>> data 名字 等级 属性2 天赋 特性 0 艾欧里娅 100 冰 29 瞬杀 1 泰格尔 80 战斗 16 None 2 布鲁克克 100 None 28 炎火 3 小火猴 1 None 31 None >>> # 删除第3,4行,这里下表以0开始,并且标题行不算在类, axis用法同上 >>> data = data.drop([2, 3], axis=0) >>> data 名字 等级 属性2 天赋 特性 0 艾欧里娅 100 冰 29 瞬杀 1 泰格尔 80 战斗 16 None >>> # 保存 >>> data.to_excel('2.xlsx', sheet_name='Sheet1', index=False, header=True)
io
: 물론 그렇습니다. excel 파일 + 이름 문자열
(중국어를 사용하는 경우 python2
베테랑은 decode()
를 사용하여 유니코드 문자열
로 디코딩해야 합니다. ) 예:
rrreeerrreeesheet_name
: 지정된 시트를 반환합니다.🎜sheet_name
이None, 전체 테이블 반환🎜여러 테이블을 반환해야 하는 경우 <code>sheet_name
을 목록으로 지정하면 됩니다. 예를 들어 ['sheet1', 'sheet2']🎜에 따라 반환할 수 있습니다. >sheet
code>의 이름 문자열 또는sheet
🎜
header를 지정하는 인덱스: 데이터 테이블의 헤더를 지정하며 기본값은 0입니다. 즉, 첫 번째 행은 Header입니다.
usecols: 지정된 열을 읽거나 이름 또는 인덱스 값으로 읽습니다.rrreee🎜언젠가 Tiger가 수준으로 올라갈 때까지 이렇게 변경할 수 있습니다. 물론
.iloc
나 .loc
객체를 사용해도 됩니다🎜rrreee🎜LOOK! 그는 업그레이드되었습니다! ! 🎜rrreee🎜이제 저장합니다🎜rrreeeindex: 기본값은True
입니다. 행 인덱스를 추가할지 여부는 위 그림으로 이동하세요! 🎜blockquote> 왼쪽은False
이고, 오른쪽은True
입니다.헤더: 기본값은True
입니다. 열 레이블을 추가하려면 위 그림을 참조하십시오! 🎜에 왼쪽은 False
이고 오른쪽은True
이며🎜동물을 몇 마리 더 포획하거나 속성을 몇 개 더 추가하면 어떨까요? 참조는 여기에 제공됩니다: 🎜io, sheet_name
매개변수 사용법은 함수 pd.read_excel()새 열 데이터: 🎜data['column name'] = [value 1, value 2, ...]rrreee🎜새 행 데이터, 여기서 행 num은 ID입니다. excel🎜data.loc의 행에 자동으로 추가된 값[the num of the row] = [value 1, value 2, ...], (.iloc
와의 차이점에 유의하세요)🎜 rrreee🎜 행이나 열을 추가한 후 행이나 열을 삭제하는 방법은 무엇입니까?.drop()
함수를 사용할 수 있습니다🎜rrreee🎜🎜
위 내용은 Pandas는 Python에서 Excel 작업 전략을 읽고 수정합니다(코드 예).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!