C#将参数传入python时遇到的问题
程序员文章站
2024-03-17 17:23:34
...
总结:
1.c#的参数需要去掉空格,否则python会自动忽略空格之后的内容;
2.python会将传入的字符串里边的引号去除,需要用replace函数加上双引号;
3.string格式转成dict格式可以用ast.literal_eval方法.
一.去掉空格
c#的参数为string类型
string json = "{\"bsa\": 1.0,\"isToxins\": 1.0,\"transfer\": 1.0,\"ufVol24\": 1.0,\"totalOut24\": 2.0,\"albumin\": 1.0,\"oriPreLabel\": 1.0,\"GFR\": 0.0,\"totalKtv\": 1.0,\"totalCcr\": 1.0}";
有空格需要去掉空格,用replace函数
string data = Regex.Replace(json, " ", "");
二.加上双引号
重头戏来了,传到python以后,这个字符串里边的双引号"就被自动去掉了!!也就是说传入的参数变成了这样:
"aaa:111,bbb:222"
为了给aaa和bbb加上双引号,我用了比较原始的办法,用replace:
data=data.replace("bsa","\"bsa\"")
data中有10个英文单词,我写了10遍replace
三.转成dataframe
接下来就是用literal_eval将data转成dict,再转成dataframe
dict=ast.literal_eval(data)#将str文件转成字典格式
df=pd.DataFrame.from_dict(dict, orient='index').T#转成dataframe格式,(1,10)
上一篇: 转置矩阵的输出