如何将引号“”添加到保存为CSV的数据帧的非数值列中的每个元素

2024-05-29 06:02:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有数据框

id,type,value
1,8,value1
2,2,value2
3,7,value3
4,3,value4
5,10,value5
6,3,value16

我想添加到CSV文件的值idvalue中,以便分配引号

"1",8,"value1"
"2",2,"value2"

还有什么更好的方法


Tags: 文件csv数据方法idvaluetype引号
2条回答

将id列转换为字符串列。然后在函数to_csv中使用适当的参数:

import csv
df.id = df.id.astype(str)
df.to_csv('test.txt', index=False, quotechar='"',
                      header=None, quoting=csv.QUOTE_NONNUMERIC)

csv.QUOTE_NONNUMERIC将把引号应用于所有明显非数字的列,如int或float。

转换为字符串并使用+

df.update('"' + df[['id', 'value']].astype(str) + '"')
print(df)

使用applymap

df.update(df[['id', 'value']].applymap('"{}"'.format))
print(df)

两者都有收益

    id  type      value
0  "1"     8   "value1"
1  "2"     2   "value2"
2  "3"     7   "value3"
3  "4"     3   "value4"
4  "5"    10   "value5"
5  "6"     3  "value16"

相关问题 更多 >

    热门问题