使用Pandas将Excel转CSV时N/A显示为空,如何修改代码?
解决方法
问题核心是pandas默认会将文本“N/A”识别为缺失值(NaN),导出CSV时又会把NaN输出为空字符串。要保留“N/A”,只需在to_csv方法中添加na_rep="N/A"参数,指定缺失值的替代文本为“N/A”即可。
修改后的代码如下:
def upload_file_to_directory_bulk(FileUploadName,df): try: dest_file_client = dest_directory_client.get_file_client(FileUploadName) # 添加na_rep参数,将缺失值替换为"N/A" file_contents = df.to_csv(sep = "\t", encoding = "UTF-8", header = None, index = False, line_terminator='\r\n', na_rep="N/A") dest_file_client.upload_data(file_contents, overwrite = True) except Exception as e: print(e)
补充说明
如果你的DataFrame是通过pd.read_excel读取而来,还可以在读取阶段直接阻止pandas将“N/A”解析为缺失值,避免后续处理:
df = pd.read_excel("your_file.xlsx", keep_default_na=False)
这个参数会关闭pandas默认的缺失值识别规则,所有文本“N/A”会被保留为字符串类型,导出时无需额外设置na_rep。
内容的提问来源于stack exchange,提问作者Shashank Singh
相关产品推荐
相关产品推荐

