to_csv与pd.read_csv引号参数问题:保存后手动打开不显示引号
问题解决:让CSV每个字段都被双引号包裹并确认存在
核心错误点
你保存CSV时用了quoting=3,这个参数对应csv.QUOTE_NONE,会让pandas完全不添加任何引号,和你要给所有字段加引号的需求完全相反。
修正方案
保存文件时需要使用quoting=1(对应csv.QUOTE_ALL),这个参数会强制给所有字段添加双引号。完整代码如下:
import csv import pandas as pd # 读取文件(若要保留原CSV中的引号作为字段内容,quoting=3的设置是正确的) df = pd.read_csv('~/Downloads/test_file.csv', dtype=str, quoting=3, na_values='') # 保存文件,使用QUOTE_ALL强制给所有字段添加双引号 df.to_csv('~/Downloads/TEST_QUOTE_TEST.csv', header=True, index=False, quoting=csv.QUOTE_ALL, line_terminator='\r\n')
关于Excel/Pages不显示引号的说明
Excel、Pages这类表格软件打开CSV时,会把双引号当作CSV的语法标记(用来界定字段边界),而非字段内容的一部分,因此会自动隐藏引号。你需要用纯文本编辑器(比如Mac的TextEdit、Windows的记事本)打开保存后的CSV文件,才能看到实际存在的双引号。
内容的提问来源于stack exchange,提问作者Maggie Liu
相关产品推荐
相关产品推荐

