You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python给数字添加双引号包裹以适配计算APP

解决Python导出文本文件时数字带双引号的问题

你遇到的问题根源是:手动给字段添加双引号后,to_csv会按照CSV规范自动处理包含引号的字段——把整个字段用双引号包裹,同时将内部的双引号转义为两个连续引号,所以才会出现"""1"""的结果。

下面提供两种可行的解决方法:

方法一:利用to_csv参数自动添加引号

不需要手动给字段加引号,直接通过csv模块的参数控制引号行为:

import pandas as pd
import csv

# 先把数字字段转成字符串(确保后续被引号包裹)
data['field_1'] = data['field_1'].astype(str)
# 导出时指定所有字段用双引号包裹,避免自动转义问题
data.to_csv("output.txt", index=False, quoting=csv.QUOTE_ALL, quotechar='"')

如果只需要特定字段(比如仅field_1)带引号,其他字段保持原样,可以用手动写入的方式更精准控制:

方法二:手动写入文件,精确控制格式

绕过to_csv的自动处理逻辑,自己构建每行内容:

import pandas as pd

with open("output.txt", "w", encoding='utf-8') as f:
    # 写入表头
    f.write(','.join(data.columns) + '\n')
    # 遍历每一行数据
    for _, row in data.iterrows():
        row_items = []
        for col_name in data.columns:
            if col_name == 'field_1':
                # 给目标字段添加双引号
                row_items.append(f'"{row[col_name]}"')
            else:
                # 其他字段直接转字符串写入
                row_items.append(str(row[col_name]))
        # 拼接成一行写入文件
        f.write(','.join(row_items) + '\n')

这两种方法都能导出符合要求的"1"格式,不会出现多余的引号。

内容的提问来源于stack exchange,提问作者LaTeXFan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 16:06:28