csv.writer写入嵌套列表全在同一列的问题求助
解决CSV写入后Excel中内容全在A列的问题
原因1:Excel默认分隔符与CSV文件不匹配
csv模块默认用逗号(,)作为字段分隔符,但部分地区(如欧洲)的Excel默认把分号(;)作为列表分隔符,导致Excel无法正确拆分列。
解决办法:修改csv写入时的分隔符
创建csv.writer时指定delimiter=';',同时添加必要的参数避免格式问题:
import csv data = [[1,2,3],[4,5,6]] with open('out.csv', 'w', newline='', encoding='utf-8-sig') as file: wr = csv.writer(file, delimiter=';') wr.writerows(data)
newline=''用于避免Windows系统下写入时出现空行,encoding='utf-8-sig'确保Excel能正确识别UTF-8编码,避免乱码间接导致列识别错误。
原因2:错误的文件打开方式
直接双击CSV文件时,Excel会自动猜测分隔符,容易出现识别偏差。
解决办法:用Excel手动导入CSV
- 打开Excel,点击「数据」选项卡
- 选择「自文本/CSV」,选中目标out.csv文件
- 在导入向导中,指定分隔符为你写入时用的符号(逗号或分号),预览确认列拆分正确后完成导入
内容的提问来源于stack exchange,提问作者uC_dev_imposter
相关产品推荐
相关产品推荐

