Python中Pandas如何导出为CSV文件_使用to_csv并设置编码格式
to_csv保存中文乱码的根本原因是编码不匹配:Windows默认GBK而Pandas默认UTF-8;Excel读CSV不自动识别UTF-8,需用encoding='utf-8-sig'写入BOM;index=True会多导出行号,应按需设index=False;na_rep可直接替换NaN而不改原数据;大文件须用chunksize分块写入防内存溢出。
to_csv 保存中文乱码,根本原因是编码没对上
Windows 默认用 gbk,而 Pandas 默认用 utf-8;导出 CSV 后用 Excel 打开乱码,大概率不是数据问题,是编码声明和实际写入不一致。Excel(尤其是旧版)读 CSV 时不会自动识别 BOM 或 UTF-8,它默认按系统编码解析。
- 最稳妥的解法:加
encoding='utf-8-sig'—— 它会在文件开头写入 BOM,Excel 能正确识别为 UTF-8 - 别用
encoding='utf-8'直接保存,Excel 打开基本会乱码 - 如果必须用
gbk(比如对接老系统),就统一用encoding='gbk',但注意:含 emoji、生僻字或某些 Unicode 字符会报错UnicodeEncodeError
to_csv 的 index 参数不关掉,第一列会多出一列行号
默认 index=True,导出的 CSV 第一列是自增数字索引(0, 1, 2…),看着像“多了一列”。这不是 bug,是 Pandas 把 DataFrame 的行索引当数据写了进去。
- 导出纯数据表(比如给业务方看、导入数据库),务必加
index=False - 如果原始索引有意义(比如是日期、ID),可以保留
index=True,但要确认下游能正确解析索引列 - 用 Excel 打开时,
index=True导致列名整体右移一格,容易误判字段顺序
处理缺失值时 na_rep 参数比 fillna 更直接
CSV 是文本格式,NaN 默认导出成空字符串,但有时需要明确标成 NULL、N/A 或 \N(比如对接 Hive/PostgreSQL)。与其先用 fillna() 改原数据,不如在 to_csv 里一步指定。
MedPeer
AI驱动的一站式科研服务平台
- 用
na_rep='NULL',所有NaN都变成字面量NULL(不带引号) - 注意:
na_rep不影响None或空字符串,只管 Pandas 的NaN - 如果字段本身有空字符串
'',它不会被替换成na_rep的值,这点和fillna行为不同
大文件导出卡住或内存爆掉?分块写入更稳
to_csv 默认一次性把整个 DataFrame 加载进内存再写磁盘,几百万行就可能吃光内存或写得极慢。尤其当目标路径是网络盘、NAS 或权限受限目录时,还容易因 I/O 暂停导致超时。
- 用
chunksize参数分批导出:先df.to_csv('out.csv', mode='w', header=True, index=False)写头,再循环df.iloc[i:i+chunksize].to_csv('out.csv', mode='a', header=False, index=False) - 避免用
to_csv的compression参数直接写.zip或.gz—— 它内部仍会全量加载,压缩只是最后一步 - 如果只是想减小体积,先用
to_csv(..., encoding='utf-8-sig')保存为普通 CSV,再用系统命令压缩更可控
Pandas 的 to_csv 看似简单,但编码、索引、缺失值、分块这四个点,每个都卡过人。特别是 utf-8-sig 和 index=False,几乎成了导出前的肌肉记忆。
如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!
猜您喜欢
windy设置风速方法
2026-07-13打开Windy,点击右下角菜单进入设置,在“风”相关区域即可选择风速单位,支持kt(节)、bft(蒲福风级)、m/s(米/秒)、km/h(公里/小时)、mph(英里/小时)等,点击对应选项即可完成切换。 windy怎么设置风速 1、打开Windy应用,然后点击右下角的【三】菜单按钮。 2、进入菜单界面后,点击【设置】选项。 3、之后找到风的设置区域,然后就能选择kt、bft、m/s、km/h、mp...
迷你世界怎样设置密码2026版
2026-07-13迷你世界里面有很多的内容,今天给大家带来了游戏里面的最新设置密码方法,还有小伙伴不清楚要怎么去设置密码,那么下面就是相关的内容,来看看吧. 迷你世界最新设置密码方法 首先在手机里打开迷你世界游戏 进入主界面之后,选中右上方的齿轮图标 弹出窗口,选中【账号管理】 跳转页面后,再选中【设置密码】 最后在如图位置输入密码就可以了 本文内容来源于互联网,如有侵权请联系删除。
迷你世界设置时间在哪2026
2026-07-11迷你世界游戏里面有很多的内容,今天给大家带来了游戏里面的设置时间位置介绍,还有小伙伴不清楚要怎么去设置,那么下面就是相关的内容,来看看吧. 迷你世界设置时间位置介绍 1、选择开发者模式存档进行游戏。 2、点击游戏界面上方的编辑选项。 3、拖动圆点修改迷你世界里面的时间。 4、点击右上角叉号返回游戏。 本文内容来源于互联网,如有侵权请联系删除。
我的世界设置重生点的指令是什么2026年版本
2026-07-11我的世界游戏里面的重生点非常的重要,今天给大家带来了游戏里面的最新设置重生点的指令分享,还有小伙伴不清楚设置重生点的指令是什么,那么下面就是相关的内容. 我的世界最新设置重生点的指令分享 一、首先,进入我的世界游戏中。 二、点击游戏上方的语言栏标志。 三、就会出现对话框,我们点击那个斜杠。 四、第一个快捷指令,就是设置重生点。点击这个快捷指令。 五、输入指令/setworldspawn。这个就是设...
斑马英语app斑马拍设置教程
2026-07-09斑马英语app斑马拍如何开启,打开斑马英语,进入我的主页,点击设置功能,在设置界面点击打开斑马拍选项,在斑马拍设置界面把开启斑马拍功能按钮打开即可。 斑马英语app斑马拍设置教程: 1、打开斑马英语,进入我的主页,点击设置功能。 2、在设置界面点击打开斑马拍选项。 3、在斑马拍设置界面把开启斑马拍功能按钮打开即可。 以上就是小编整理带来的斑马英语app斑马拍如何开启,斑马拍设置教程,更多相关软件知...
我的世界存档回档怎么设置
2026-07-07我的世界里面有很多的内容,今天给大家带来的是游戏里面存档回档的方法,还有小伙伴不清楚存档要怎么回档,那么下面就是具体的内容,来看看吧. 我的世界存档回档设置方法 1.首先我们找到存档的地方,然后点击编辑。 2.我们点击导出世界生成设置,右上方就会显示导出成功,我们需要记住这个文件的位置。 3.然后我们将刚才存档的文件删除。 4.我们找到我的世界文件的位置。 5.我们点击第一个文件。 6.进去之后把...
一梦九霄游戏设置指南
2026-07-07一梦九霄系统设置方法,在挂机界面,玩家可以针对挂机时,拾取的装备品质进行勾选,以减少拾取不需要物品的时间。自动复活可让玩家挂机无后顾之忧,获得的装备占满背包时,自动出售或者熔炼装备等设置。 一梦九霄游戏设置指南: 在设置界面,玩家可针对游戏内的各项显示进行屏蔽或者显示设置,以适应玩家不同机型配置,获得最佳的游戏体验。当使用飞行功能卡死时,可以点击脱离卡死摆脱。 在挂机界面,玩家可以针对挂机时,拾取...
我的世界画质怎么设置
2026-07-03我的世界是一款大型多人开放世界的游戏,每一款游戏都可以调节自己想要的画质,我的世界也可以,今天就给大家带来了我的世界调节画质的方法,下面就是具体的内容. 我的世界画质设置方法 打开我的世界APP,点击页面左上角的头像。 再点击页面右上角的设置按键。 然后点击游戏内资源画质。 最后选择高画质,再点击确定按键即可。 本文内容来源于互联网,如有侵权请联系删除。
如何在Fitten Code中设置代码段触发字符
2026-06-28在FittenCode中设置代码段触发字符需为英文/数字/常见符号,通过界面操作新建或编辑代码段并填写触发字符(如clg),保存后在对应语言文件中输入触发字符按Tab/Enter即可展开。 ☞☞☞AI智能聊天,问答助手,AI智能搜索,多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 在FittenCode中设置代码段触发字符,是为了让自定义代码片段能通过快捷输入快速展开,避免每次手动复制粘贴重复代...
讯飞听见网页版操作教程:从上传音频到导出文本
2026-06-28讯飞听见网页版支持在线音视频转写,无需安装软件,操作分三步:上传时需手动设置语言、专业领域和热词;转写后可编辑、生成摘要及纪要;导出支持TXT、DOCX、PDF、SRT及结构化ZIP包。 ☞☞☞AI智能聊天,问答助手,AI智能搜索,多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 讯飞听见网页版操作简单,从上传音频到导出文本全程无需安装软件,适合会议记录、网课整理、访谈转录等场景。关键在选对入口、...
