我们可以使用 pandas 模块 read_excel() 函数来将 excel 文件数据读入 DataFrame 对象。
标签: read_excel() 例子
假设我们有一个Excel文件,有两个表格 - 员工和汽车. 顶行包含表的标题。
以下是阅读员工
表数据并打印的示例。
1import pandas
2
3excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Employees')
4
5# print whole sheet data
6print(excel_data_df)
输出:
1EmpID EmpName EmpRole
20 1 Pankaj CEO
31 2 David Lee Editor
42 3 Lisa Ray Author
- 第一個參數是 Excel 檔案的名稱.
- sheet_name 參數定義了從 Excel 檔案中讀取的表格
- 當我們打印 DataFrame 對象時,輸出是兩維表。
列表列表 Excel 表的列表标题
我们可以使用数据框对象的列
属性来获取列表标题。
1print(excel_data_df.columns.ravel())
输出:
1['EmpID' 'EmpName' 'EmpRole']
3、打印一列数据
我们可以获取列数据并将其转换为值列表。
1print(excel_data_df['EmpName'].tolist())
输出:
1['Pankaj', 'David Lee', 'Lisa Ray']
例如,Pandas read_excel() usecols。
我们可以指定从 excel 文件中读取的列名,当您只对 Excel 表的几个列感兴趣时,这是有用的。
1import pandas
2
3excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Cars', usecols=['Car Name', 'Car Price'])
4print(excel_data_df)
输出:
1Car Name Car Price
20 Honda City 20,000 USD
31 Bugatti Chiron 3 Million USD
42 Ferrari 458 2,30,000 USD
阅读 Excel 文件 没有 Header 列
如果 Excel 表格没有任何标题行,请将标题参数值传输为 None。
1excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Numbers', header=None)
如果您将标题值传递为整数,比如说3,那么第三行将被视为标题行,并且将从下一行读取值。
6、Excel表格到Dict、CSV和JSON
DataFrame 对象有各种实用方法将表数据转换为 Dict, CSV或 JSON 格式。
1excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Cars', usecols=['Car Name', 'Car Price'])
2
3print('Excel Sheet to Dict:', excel_data_df.to_dict(orient='record'))
4print('Excel Sheet to JSON:', excel_data_df.to_json(orient='records'))
5print('Excel Sheet to CSV:\n', excel_data_df.to_csv(index=False))
输出:
1Excel Sheet to Dict: [{'Car Name': 'Honda City', 'Car Price': '20,000 USD'}, {'Car Name': 'Bugatti Chiron', 'Car Price': '3 Million USD'}, {'Car Name': 'Ferrari 458', 'Car Price': '2,30,000 USD'}]
2Excel Sheet to JSON: [{"Car Name":"Honda City","Car Price":"20,000 USD"},{"Car Name":"Bugatti Chiron","Car Price":"3 Million USD"},{"Car Name":"Ferrari 458","Car Price":"2,30,000 USD"}]
3Excel Sheet to CSV:
4 Car Name,Car Price
5Honda City,"20,000 USD"
6Bugatti Chiron,3 Million USD
7Ferrari 458,"2,30,000 USD"