添加代码后Python csv.writerow()失效,生成的CSV为空求解
问题分析:新增代码导致CSV创建后为空的原因
原代码可正常生成带指定表头的CSV文件,但添加后续代码后,文件虽能生成却为空,核心原因如下:
写入模式直接清空原有内容:新增代码中用
with open(master_csv_path, 'w', newline='') as masterCSV打开目标文件,'w'(写入)模式的特性是打开时直接截断清空文件原有内容。不管前面的if not os.path.exists块是否已写入表头,这行代码都会把刚创建的带表头文件清空。异常捕获范围不全导致无内容写入:try块中用
pd.read_csv(master_csv_path)读取被清空的文件时,会触发EmptyDataError异常,但你的except语句仅捕获KeyError和IndexError,该异常无法被处理,后续的writer.writerow也不会执行。最终文件被清空后没有任何新内容写入,变成空文件。额外逻辑误区:代码错误地将文件对象
masterCSV当作数据行使用(如masterCSV[3]),这本身是逻辑错误,但并非文件为空的直接原因。
内容的提问来源于stack exchange,提问作者Michael Winters
相关产品推荐
相关产品推荐

