在我的应用程序iOS中,我需要将一些数据导出为CSV或HTML格式。我怎样才能做到这一点?如何将数据转换为iOS或CSV格式的HTML格式?
回答
RegexKitLite自带了如何读取csv文件到NSArrays的一个NSArray一个例子,而在相反的方向走是相当琐碎。
它会是这样的(警告:在浏览器中键入代码):
NSArray * data = ...; //An NSArray of NSArrays of NSStrings
NSMutableString * csv = [NSMutableString string];
for (NSArray * line in data) {
NSMutableArray * formattedLine = [NSMutableArray array];
for (NSString * field in line) {
BOOL shouldQuote = NO;
NSRange r = [field rangeOfString:@","];
//fields that contain a , must be quoted
if (r.location != NSNotFound) {
shouldQuote = YES;
}
r = [field rangeOfString:@"\""];
//fields that contain a " must have them escaped to "" and be quoted
if (r.location != NSNotFound) {
field = [field stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""];
shouldQuote = YES;
}
if (shouldQuote == YES) {
[formattedLine addObject:[NSString stringWithFormat:@"\"%@\"", field]];
} else {
[formattedLine addObject:field];
}
}
NSString * combinedLine = [formattedLine componentsJoinedByString:@","];
[csv appendFormat:@"%@\n", combinedLine];
}
[csv writeToFile:@"/path/to/file.csv" atomically:NO];
ok.How我可以导出为html文件? – diana 2009-10-03 07:55:03
@Edwin HTML只是一种文本格式,所以构建字符串并将其写入文件。我们无法为您编写应用程序... – 2009-10-03 14:19:57
CSV - comma separated values.
我通常只是遍历在我的应用程序和输出一组每行的值的数据结构,集合中的值与逗号分隔。
struct person
{
string first_name;
string second_name;
};
person tony = {"tony", "momo"};
person john = {"john", "smith"};
会是什么样子
tony, momo
john, smith
这实际上并没有显示如何从记录到字符串。 – 2009-10-03 06:25:25
一般的解决方法是使用stringWithFormat:
格式化每一行。据推测,您将此文件写入文件或套接字,在这种情况下,您将在创建文件句柄时将每个字符串的数据表示(请参阅dataUsingEncoding:
)写入文件句柄。
如果要格式化很多行,则可能需要使用initWithFormat:
和明确的release
消息,以避免堆积autorelease池中太多字符串对象而导致内存不足。
和在将它们传递给格式化方法之前,始终始终记得正确地转义值。
为了编写单元测试,转义(和unescaping一起)是一件非常好的事情。编写一个函数以CSV格式化单行,并将测试用例的结果与正确的输出进行比较。如果你手边有一个CSV解析器,或者你需要一个,或者你只是想确保你的转义是正确的,那么编写单元测试来解析和消除转义以及转义和格式化。
如果您可以从包含CSV特殊字符和/或SQL特殊字符的任意组合的单个记录开始,对其进行格式化,解析格式化的字符串,并以与您开始使用的记录相等的记录结束,知道你的代码是好的。
(以上所有同样适用于CSV和HTML。如果可能的话,你可以考虑使用XHTML,这样就可以使用XML验证工具和解析器,包括的NSXMLParser。)
- 1. 如何将HTML表格转换为csv格式?
- 2. 转换CSV数据格式
- 3. 如何将.npz格式转换为.py格式的.csv文件?
- 4. 如何在CakePHP中将mysql表格数据转换为Excel或CSV格式?
- 5. 如何sqlite3的数据转换成JSON格式和CSV格式
- 6. 如何将MetaStock格式转换为CSV格式?
- 7. 如何将pdf格式的marathi数据转换为excel格式
- 8. 如何将sqlite数据库转换为csv文件格式?
- 9. 使用python将宽格式csv转换为长格式csv
- 10. 如何将数据从长格式转换为宽格式?
- 11. 如何将osgjs格式转换为obj或类似的格式?
- 12. 将CSV格式的JSON转换为表
- 13. iPhone:如何将CSV格式转换为NSData或NSString?
- 14. 如何将数据从长格式转换为多格式格式?
- 15. 将HTML格式化为CSV
- 16. 如何将wmd格式数据转换为html格式的前端asp页面或html页面
- 17. 将CSV转换为TDV - 格式问题
- 18. 将ByteStream转换为CSV格式
- 19. 将.log文件转换为CSV格式
- 20. 将csv转换为dynamodb json格式
- 21. 如何将请求数据转换为json或dict格式
- 22. 如何将C++数字格式转换为C#数字格式?
- 23. 如何将R数据框转换为简单的,无格式的html表格?
- 24. 如何转换为SVM数据格式
- 25. 想要将关联数组数据转换为CSV格式
- 26. 将.mat格式的数据集转换为.csv八度/ matlab
- 27. excel公式或宏自动将长格式数据转换为宽格式
- 28. SQL中的数据格式(将分钟转换为HH:MM格式)
- 29. 将数据从接收的JSON格式转换为JVectorMap格式
- 30. 如何将XML数据转换成CSV格式
能否请您具体了解数据的种类或至少是数据的来源类型? – 2009-10-03 05:26:52
好的。具体而言,我需要从sqlite数据库导出一些数据。 – diana 2009-10-03 05:48:16