在我的應用程序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