修复合并CSV文件时的FutureWarning,实现代码未来兼容
解决Pandas合并CSV时的FutureWarning兼容问题
问题原因
这个警告是因为你合并的CSV文件中存在全为空(NA)的列,Pandas未来版本会改变这类列的处理逻辑——不再自动排除它们来确定结果的数据类型。要保持当前的合并行为,必须在合并前手动移除这些全NA列。
修改后的代码
import glob import pandas as pd def read_csv_clean_cols(file_path): # 读取CSV文件 df = pd.read_csv(file_path) # 删除所有行都是NA的列 return df.dropna(axis=1, how='all') # 获取CSV文件列表 QInboundCSV = [file for file in glob.glob("Queue Inbound\*.csv")] QOutboundCSV = [file for file in glob.glob("Queue Outbound\*.csv")] # 先清理每个文件的全NA列,再合并 df_queue_inbound = pd.concat(map(read_csv_clean_cols, QInboundCSV), ignore_index=True) df_queue_outbound = pd.concat(map(read_csv_clean_cols, QOutboundCSV), ignore_index=True)
补充处理(可选)
如果你的目录里存在完全空的CSV文件(整个文件没有任何有效数据),可以给读取函数加个空值判断,避免合并时出现异常:
def read_csv_clean_cols(file_path): df = pd.read_csv(file_path) # 若文件为空,直接返回空DataFrame if df.empty: return df return df.dropna(axis=1, how='all')
内容的提问来源于stack exchange,提问作者sayth
相关产品推荐
相关产品推荐

