You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何格式化Pandas DataFrame输出?筛选无end_date员工行并按CSV格式打印

员工CSV在职记录筛选与格式化输出方案

问题需求

开发员工追踪程序,使用CSV存储员工信息,需筛选无end_date(仍在职)的员工行并按原CSV格式打印,且不能使用df.drop方法以保留所有员工记录。当前代码打印为竖排格式,不符合要求。

CSV示例数据

employee_id,name,address,Phone,date_of_birth,job_title,start_date,end_date
1,Arya,New York,1234567890,1/1/1970,lecturer,1/1/2021,10/20/2022
2,Terri,New York,25151521,010109,Nurse,10/10/2022,
42,Bill,New York,2314,09/10/1994,Teacher,10/14/2022,
48,Steve,New York,454554,08/10/1994,Teacher,02/25/2022,
9,Stephen,New York,526415252,10/08/1994,Teacher,10/15/2022,N/A

当前代码及问题

df2 = pd.read_csv('employees.csv')

print()
for index, row in df2.iterrows():
    if ((len(str(row['end_date'])) <= 3)):
        print(df2.loc[index])
    else:
        continue
print()

当前输出为竖排的Series格式,不符合CSV行式要求:

employee_id             8
name                 Bill
address          New York
phone               25235
date_of_birth      081019
job_title        Engineer
start_date         081019
end_date              NaN
Name: 2, dtype: object

解决方案

方法1:使用布尔索引筛选后转CSV格式输出

直接利用pandas的to_csv方法生成符合要求的格式,无需手动循环拼接:

import pandas as pd

df2 = pd.read_csv('employees.csv')
# 筛选符合条件的在职员工行
active_mask = df2['end_date'].apply(lambda x: len(str(x)) <= 3)
active_employees = df2[active_mask]

# 按CSV格式打印,不输出索引,空值替换为空字符串,禁用引号
print(active_employees.to_csv(index=False, header=True, quoting=0, na_rep=''))

方法2:循环拼接每行数据为CSV字符串

如果需要更灵活的控制,可手动遍历筛选后的行并拼接成CSV格式:

import pandas as pd

df2 = pd.read_csv('employees.csv')
# 先打印表头
print(','.join(df2.columns))

for _, row in df2.iterrows():
    if len(str(row['end_date'])) <= 3:
        # 将每行数据转为CSV格式字符串,空值替换为空
        csv_row = ','.join(str(cell) if pd.notna(cell) else '' for cell in row)
        print(csv_row)

效果说明

两种方法均可输出符合要求的格式:

employee_id,name,address,Phone,date_of_birth,job_title,start_date,end_date
2,Terri,New York,25151521,010109,Nurse,10/10/2022,
42,Bill,New York,2314,09/10/1994,Teacher,10/14/2022,
48,Steve,New York,454554,08/10/1994,Teacher,02/25/2022,

内容的提问来源于stack exchange,提问作者Parker Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:55:30