人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

教你用Python實現(xiàn)Excel表格處理

發(fā)布日期:2022-06-30 14:56 | 文章來源:CSDN

一、文件

一個測試有兩個sheet頁的Excel測試文件 test.xlsx

二、代碼

import pandas as pd
file1 = pd.ExcelFile('D:\\data\\py\\test.xlsx')
file2 = pd.read_excel('D:\\data\\py\\test.xlsx')
print(file)
<pandas.io.excel._base.ExcelFile object at 0x0000021DE525DF88>
-----------------分割線---------------------
姓名  年齡 性別  住址
0  張三7  男 NaN
1  李四6  男 NaN
2  王芳6  女 NaN

三、分析

pd.read_excel讀出來是一個dataframe可以直接打印出內容,但是只能讀取一個sheet頁,默認第一個sheet頁

@Appender(_read_excel_doc)
@deprecate_kwarg("skip_footer", "skipfooter")
def read_excel(
 io,
 sheet_name=0,
 header=0,
 names=None,
 index_col=None,
 usecols=None,
 squeeze=False,
 dtype=None,
 engine=None,
 converters=None,
 true_values=None,
 false_values=None,
 skiprows=None,
 nrows=None,
 na_values=None,
 keep_default_na=True,
 verbose=False,
 parse_dates=False,
 date_parser=None,
 thousands=None,
 comment=None,
 skip_footer=0,
 skipfooter=0,
 convert_float=True,
 mangle_dupe_cols=True,
 **kwds
):
 for arg in ("sheet", "sheetname", "parse_cols"):
  if arg in kwds:
raise TypeError(
 "read_excel() got an unexpected keyword argument " "`{}`".format(arg)
)
 if not isinstance(io, ExcelFile):
  io = ExcelFile(io, engine=engine)
 elif engine and engine != io.engine:
  raise ValueError(
"Engine should not be specified when passing "
"an ExcelFile - ExcelFile already has the engine set"
  )
 return io.parse(
  sheet_name=sheet_name,
  header=header,
  names=names,
  index_col=index_col,
  usecols=usecols,
  squeeze=squeeze,
  dtype=dtype,
  converters=converters,
  true_values=true_values,
  false_values=false_values,
  skiprows=skiprows,
  nrows=nrows,
  na_values=na_values,
  keep_default_na=keep_default_na,
  verbose=verbose,
  parse_dates=parse_dates,
  date_parser=date_parser,
  thousands=thousands,
  comment=comment,
  skipfooter=skipfooter,
  convert_float=convert_float,
  mangle_dupe_cols=mangle_dupe_cols,
  **kwds
 )

pd.ExcelFile 返回值是一個Excel對象,不能直接用,但是可以讀取整個Excel內容

四、pd.ExcelFile

file = pd.ExcelFile('D:\\data\\py\\test.xlsx')

sheet頁名稱

print(file.sheet_names)
['一年級', '二年級']

遍歷讀取每個sheet頁的內容

for name in file.sheet_names:
 _df = pd.read_excel(file,name)
 print(_df)
  姓名  年齡 性別  住址
0  張三7  男 NaN
1  李四6  男 NaN
2  王芳6  女 NaN
姓名  年齡 性別
0  李明8  男
1  劉敏8  女
2  張強7  男

將兩個sheet頁的內容合并,并添加一列內容為sheet頁名稱

df_list=[]
for name in file.sheet_names:
 _df = pd.read_excel(file,name)
 _df['班級']=name
 df_list.append(_df)
df = pd.concat([_df for _df in df_list],sort=False)
print(df)
姓名  年齡 性別  住址班級
0  張三7  男 NaN  一年級
1  李四6  男 NaN  一年級
2  王芳6  女 NaN  一年級
0  李明8  男 NaN  二年級
1  劉敏8  女 NaN  二年級
2  張強7  男 NaN  二年級

忽略掉原來的index

df = pd.concat([_df for _df in df_list],ignore_index=True,sort=False)
print(df)
姓名  年齡 性別  住址班級
0  張三7  男 NaN  一年級
1  李四6  男 NaN  一年級
2  王芳6  女 NaN  一年級
3  李明8  男 NaN  二年級
4  劉敏8  女 NaN  二年級
5  張強7  男 NaN  二年級

修改列名為英文

df = df.rename(columns={'姓名': 'name', '年齡': 'age', '性別': 'sex', '住址': 'address', '班級': 'class'})
print(df)
name  age sex  address class
0張三 7男NaN一年級
1李四 6男NaN一年級
2王芳 6女NaN一年級
3李明 8男NaN二年級
4劉敏 8女NaN二年級
5張強 7男NaN二年級

將df保存為CSV、Excel文件

df.to_csv('../data/sheet合并.csv',index=False) 
df.to_excel('../data/sheet合并.xls',index=True) 

五、總結

可以發(fā)現(xiàn)Python讀寫Excel文件還是很方便的!

/python/blob/master/data/sheet%E5%90%88%E5%B9%B6.xls)

df.to_csv('../data/sheet合并.csv',index=False) 
df.to_excel('../data/sheet合并.xls',index=True) 

到此這篇關于教你用Python實現(xiàn)Excel表格處理的文章就介紹到這了,更多相關Python處理Excel內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!

香港穩(wěn)定服務器

版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

相關文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部