我有一个读入数据文件的变量
dfPort = pd.read_csv("E:...\Portfolios\ConsDisc_20160701_Q.csv")
我希望创建三个变量:portName,inceptionDate和读取上面“E:...”字符串的频率,并使用下划线作为指示符取出字符串的所需部分下一个变量。解析字符串后的示例:
portName = "ConsDisc"
inceptionDate: "2016-07-01"
frequency: "Q"
任何提示都将不胜感激!
答案 0 :(得分:2)
您可以使用os.path.basename
,os.path.splitext
和str.split
:
import os
filename = r'E:...\Portfolios\ConsDisc_20160701_Q.csv'
parts = os.path.splitext(os.path.basename(filename.replace('\\', os.sep)))[0].split('_')
print(parts)
输出['ConsDisc', '20160701', 'Q']
。然后,您可以根据需要操作此列表,例如将其提取到port_name, inception_date, frequency = parts
等变量中。
.replace('\\', os.sep)
用于将Windows样式的反斜杠分隔路径“规范化”为运行代码的系统约定(即除了Windows之外的任何正斜杠:))
答案 1 :(得分:1)
import os
def parse_filename(path):
filename = os.path.basename(path)
filename_no_ext = os.path.splitext(filename)[0]
return filename_no_ext.split("_")
path = r"Portfolios\ConsDisc_20160701_Q.csv"
portName, inceptionDate, frequency = parse_filename(path)
答案 2 :(得分:0)
如果您希望将它们存储到字典中并使用它们,那么替代解决方案如何呢?
var req = https.request(options, function(res) {
res.setEncoding(ENCODING_UTF8);
res.on('data', function(result) {
console.log("Headers: ", res.headers);
// Your code here.
});
res.on('end', () => {
// Do something here.
});
});