gpt4 book ai didi

ios - 将标题添加到 CSV 文件

转载 作者:行者123 更新时间:2023-11-29 02:58:51 25 4
gpt4 key购买 nike

我的部分 iOS 应用程序将包括导出 .csv 文件。

我制作了文件,并根据需要将数据添加到每一行。

我想添加一个标题行,这样如果将文件通过电子邮件发送给某人,他们就会知道每一列的用途。

我该如何实现这样的东西?

下面是我的 csv 代码:

- (NSString *)dataFilePath
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory stringByAppendingPathComponent:@"myfile.csv"];
}

- (IBAction)save:(id)sender
{
if (![[NSFileManager defaultManager] fileExistsAtPath:[self dataFilePath]]) {
[[NSFileManager defaultManager] createFileAtPath: [self dataFilePath] contents:nil attributes:nil];
}

NSString * writeString = [NSString stringWithFormat:@"%@,%@,%@\n", self.nameTextField.text, self.cityTextField.text, self.stateTextField.text];

NSFileHandle *handle;
handle = [NSFileHandle fileHandleForWritingAtPath: [self dataFilePath]];
[handle truncateFileAtOffset:[handle seekToEndOfFile]];
[handle writeData:[writeString dataUsingEncoding:NSUTF8StringEncoding]];

self.nameTextField.text = @"";
self.cityTextField.text = @"";
self.stateTextField.text = @"";

[self.stateTextField resignFirstResponder];
}

问题 2:

如何覆盖一行?目前,如果我更新任何 UITextFields,就会添加一个新行。

最佳答案

CSV 文件中的标题行只是第一行中的固定数据 - 由读取 CSV 文件的程序将第一行视为标题行 - Excel 在文件打开/导入中有一个选项例如,对话框。

在代码中,您可以在首次创建文件时简单地编写 header -

- (IBAction)save:(id)sender
{
NSString *headerRow;
if (![[NSFileManager defaultManager] fileExistsAtPath:[self dataFilePath]]) {
[[NSFileManager defaultManager] createFileAtPath: [self dataFilePath] contents:nil attributes:nil];
headerRow=@"name,city,state";
}

NSString * writeString = [NSString stringWithFormat:@"%@,%@,%@\n", self.nameTextField.text, self.cityTextField.text, self.stateTextField.text];

NSFileHandle *handle;
handle = [NSFileHandle fileHandleForWritingAtPath: [self dataFilePath]];
[handle truncateFileAtOffset:[handle seekToEndOfFile]];
if (headerRow != nil) {
[handle writeData:[headerRow dataUsingEncoding:NSUTF8StringEncoding]];
}
[handle writeData:[writeString dataUsingEncoding:NSUTF8StringEncoding]];

self.nameTextField.text = @"";
self.cityTextField.text = @"";
self.stateTextField.text = @"";

[self.stateTextField resignFirstResponder];
}

关于ios - 将标题添加到 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23530247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com