pandas处理excel

这篇博客介绍了如何使用Python的pandas库进行数据读取、文件写入、单元格判断和数据选择。首先,通过`pd.read_excel()`读取Excel文件。接着,创建一个新的xlsx文件并利用`ExcelWriter`将数据写入DataFrame。然后,展示了如何检查DataFrame中单元格是否为空。最后,演示了如何获取DataFrame的行数、索引以及如何选取特定行和列的数据。
import pandas as pd
import numpy as np

1、读取文件

data = pd.read_excel(path)

2、新建一个xlsx文件并写入一个dataframe

writer = pd.ExcelWriter("/home/kesai/inceptio/projects_server/zhenqi/20220428/dms-server_backup/frequency_video_2022-03-31_1.xlsx")   # 新建xlsx文件。
temp = []
for path in all_path.glob("**/*"):
    path = str(path)
    if path.endswith('.mp4'):  
        url_path = path
        results = tis_infer(url_path, mode='oracle')
        print(results[0]['FREQ'])
        temp.append([path, results[0]['FREQ']])            
df = pd.DataFrame(data=temp, columns=['videos', 'freq score'])
df.to_excel(writer, sheet_name='Sheet1', index=False)  # 写入文件的Sheet1
writer.save() 

3、判断某个单元格是否为空

for i,rows in data.iterrows():
    print(type(data.loc[i,'在读']) == float)
    print(data.loc[i,'在读']is np.nan)

4、读取行数及索引

print(len(df.index.values))		# 行数 (不包含表头)
print(df.index.values)			# 行索引 
print(len(df.columns.values))	# 列数
print(df.columns.values)		# 列索引
#以下返回的都是numpy.ndarray
data = df.loc[0].values			# 第0行数据
data = df.loc[[1, 2]].values	# 读取多行数据(这里是第1行和第2行)

data = df.iloc[0].values		# 第0列数据
data = df.iloc[[1, 2]].values	# 读取多列数据(这里是第1列和第2列)

### 使用 Pandas 处理 Excel 文件 Pandas 提供了强大的功能来读取和写入 Excel 文件。以下是关于如何使用 `pandas` 进行 Excel 数据处理的具体方法。 #### 1. 安装依赖库 为了能够正常运行涉及 Excel 的操作,需要安装必要的库: ```bash pip install pandas openpyxl xlrd ``` 其中,`openpyxl` 和 `xlrd` 是用来支持不同版本的 Excel 文件(`.xlsx` 和 `.xls`)的解析器[^4]。 --- #### 2. 读取 Excel 文件 可以利用 `pd.read_excel()` 函数轻松加载 Excel 中的数据表: ##### 示例代码:读取单个 Sheet 表格 ```python import pandas as pd # 加载名为 'example.xlsx' 的文件,并指定要读取的工作表名称为 'Sheet1' df = pd.read_excel('example.xlsx', sheet_name='Sheet1') # 打印 DataFrame 结果 print(df) ``` 上述代码展示了如何通过指定工作表名的方式读取特定表格的内容[^1]。 如果未提供 `sheet_name` 参数,则默认会读取第一个工作表中的数据[^3]。 --- #### 3. 写入 Excel 文件 同样地,可以通过 `DataFrame.to_excel()` 方法将数据保存至 Excel 文件中。 ##### 示例代码:将 DataFrame 写入新的 Excel 文件 ```python import pandas as pd # 创建一个简单的 DataFrame 对象 data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]} df = pd.DataFrame(data) # 将其导出到一个新的 Excel 文件 df.to_excel('output.xlsx', index=False, engine='openpyxl') ``` 这里需要注意的是,在调用 `to_excel()` 方法时需设置参数 `index=False` 来防止额外索引列被写入文件;另外还需要显式指明所使用的引擎类型(如 `'openpyxl'`),以便兼容不同的 Excel 格式。 --- #### 4. 高级应用——多 Sheets 操作 当面对复杂的场景比如多个 sheets 同步存取的时候也可以借助于字典结构完成批量化的管理流程。 ##### 示例代码:一次性读取所有 Sheets 并存储在一个字典里 ```python all_sheets_data = pd.read_excel('multi_sheet_file.xlsx', sheet_name=None) for name, frame in all_sheets_data.items(): print(f'Sheet Name: {name}') print(frame.head()) ``` 此段脚本实现了遍历整个文档内的每一个子页签并逐一打印前几条记录作为预览展示[^2]。 --- #### 总结说明 综上所述,无论是基础还是高级需求下,Pandas 均提供了简洁高效的解决方案帮助开发者便捷高效地完成针对电子表格类资料的各项任务。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值