在我创建的用于从Apple
铅笔输入中收集数据的应用程序中,我尝试将数据导出到CSV文件。但是到目前为止,我仅设法创建了一个记录时间长度的列。我想添加另一列来记录来自Apple
铅笔的力。
这是我尝试做的事情:
var patientsData:[Dictionary<String, AnyObject>] = Array()
var dct = Dictionary<String, AnyObject>()
// MARK: CSV writing
func createCSVX(from recArray:[Dictionary<String, AnyObject>]) {
var csvString = "\("Time")\n"
dct.updateValue(TestDraw.time as AnyObject, forKey: "T")
csvString = csvString.appending("\(String(describing: dct["T"]))\n")
patientsData.append(dct)
let fileManager = FileManager.default
do {
let path = try fileManager.url(for: .documentDirectory, in: .allDomainsMask, appropriateFor: nil, create: false)
let fileURL = path.appendingPathComponent("TrailTime.csv")
try csvString.write(to: fileURL, atomically: true, encoding: .utf8)
} catch {
print("error creating file")
}
}
我知道我可以编写另一个函数来创建另一个CSV
文件,该文件只有一个列来记录作用力,但是我想将它们记录在单个电子表格中。
还有,有人知道如何在创建的CSV
文件中删除“可选”吗?
这是我根据答案之一尝试过的方法。
func createCSVX(from recArray:[Dictionary<String, AnyObject>]) {
var csvString = "\("Time"),\("Force")\n"
dct.updateValue(TestDraw.time as AnyObject, forKey: "T")
dct.updateValue(TestDraw.force as AnyObject, forKey: "F")
patientsData.append(dct)
csvString = csvString.appending("\(String(describing: dct["T"])), \(String(describing: dct["F"]))\n")
let fileManager = FileManager.default
do {
let path = try fileManager.url(for: .documentDirectory, in: .allDomainsMask, appropriateFor: nil , create: false )
let fileURL = path.appendingPathComponent("TrailTime.csv")
try csvString.write(to: fileURL, atomically: true , encoding: .utf8)
} catch {
print("error creating file")
}
print(TestDraw.force)
}
答案 0 :(得分:0)
第1步:
创建一个名为“ employeeArray”的数组,该数组会将我们所有员工记录存储为键值对象。我们还将虚拟数据添加到新创建的数组中
users
第2步:现在,我们有了数据,现在可以使用swift以编程方式创建CSV(逗号分隔值)文件了。为此,我们将遍历“ employeeArray”中的记录并将它们附加在字符串中。然后,我们将此字符串写入应用程序的文档目录。所有的东西都放在名为“ createCSV”的不同函数中,以下是相同的代码
<form name="myForm" action="" onsubmit="alert('hello world');return validateForm(myForm);">
<label>
<input name="username" placeholder="Name" type="text" required>
</label>
<label>
<input name="email" placeholder="Email" type="email" required>
</label>
<input type="submit" value="Submit 1">
<button type="submit">Submit 2</button>
<button>Submit 3</button>
第3步:最后,我们将从“ viewDidLoad”调用函数。下面是完整的代码
function validateForm(formName) {
const form = document.forms[formName];
for(let i = 0; i < form.elements.length; i++){
const element = form.elements[i];
// validation fails if element is required and blank
if(element.attributes["required"] && !element.value.length){
element.focus();
return false;
}
// validation fails if email is not valid
if(element.getAttribute('type') === "email" && !validateEmail(element.value)) {
element.focus();
return false;
}
};
return true;
}
function validateEmail(str) {
var regexp = /[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*/;
return regexp.test(str);
}