我有DataFrame
id,type,value
1,8,value1
2,2,value2
3,7,value3
4,3,value4
5,10,value5
6,3,value16
我想添加要分配报价的CSV文件的值id
和value
"1",8,"value1"
"2",2,"value2"
有什么更好的方法呢
答案 0 :(得分:16)
将id列转换为字符串列。然后在函数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
{{1}}会将引号应用于所有明显非数字的列,如int或float。
答案 1 :(得分:6)
转换为字符串并使用+
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"