【发布时间】:2020-01-18 18:29:36
【问题描述】:
大家好,我想将这个 node.js 代码的 sn-p 转换为 python,我在 python 方面不是特别强。对于一个小的背景故事,我正在执行一个 api get 请求来提取数据,我特别想提取一个表中的所有内容(字段和值)。到目前为止,从 node.js sn-p 我了解到我正在使用 for 循环读取一个 txt 文件以遍历索引中一个表中的所有字段,但我不知道如何在我的 python 代码中实现这一点.有什么可以帮助的建议吗?
这是一个tables.txt文件
{"Tables":
[
{
"Name": "Event",
"EventType": "CSummary",
"Fields": "*",
"SortBy": "WhenOccurred",
"SortType": "Date",
"Last": "01/14/2020 16:02:00 -05:00"
}
]
}
这是我到目前为止所做的,但我不知道如何前进
scriptfile = open('tables.txt','r+')
r = requests.get(url, headers=headers, json={"script": " this is a work in progress"}, verify=verify)
resources = json.dumps(scriptfile)
for table in range(len(resources):
这是我要转换的node.js sn-p。
function GetSecrets(authToken, authCookie, next) {
let resources = JSON.parse(fs.readFileSync('tables.txt').toString());
console.log("Tables to get: " + resources.Tables.length);
// Loop through all the tables to get
for (let i = 0; i < resources.Tables.length; i++) {
let thisResource = resources.Tables[i];
let tableName = thisResource.Name;
let sortBy = thisResource.SortBy;
let lastGot = thisResource.Last;
let fields = thisResource.Fields;
let sortType = thisResource.SortType;
let eventType = thisResource.EventType;
let fileName = '';
let sql = '';
if (tableName === 'Event') {
sql = "SELECT " + fields + " FROM " + tableName + " WHERE Event.EventType IN ('" + eventType + "') AND " + tableName + "." + sortBy + " > DateFunc('" + lastGot + "') ORDER BY " + tableName + "." + sortBy + ";"
fileName = "Event-" + eventType;
} else {
if (sortType === 'None') {
sql = "SELECT " + fields + " FROM " + tableName + ";";
} else {
sql = "SELECT " + fields + " FROM " + tableName + " WHERE " + tableName + "." + sortBy + " > DateFunc('" + lastGot + "') ORDER BY " + tableName + "." + sortBy + ";"
}
fileName = tableName;
}
post_data = JSON.stringify({
"Script": sql,
});
【问题讨论】: