欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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)