小编Gal*_*lil的帖子

从CSV文件中读取并在Objective-C Xcode中创建数组

我正在尝试使用Objective-C将.csv文件加载到Xcode,然后我想创建两个不同的数组.第一个数组应该具有前2列的值,第二个数组应该具有第三列的值.

我知道我所寻找的与这个问题非常相似,但我在Objective-C中完全是新手,我有点困惑.

到目前为止,我尝试编写以下代码:

NSString* fileContents = [NSString stringWithContentsOfURL:@"2014-07-16_15_41_20.csv"];
NSArray* rows = [fileContents componentsSeparatedByString:@"\n"];
for (int i = 0; i < rows.count; i ++){
     NSString* row = [rows objectAtIndex:i];
     NSArray* columns = [row componentsSeparatedByString:@","];
}
Run Code Online (Sandbox Code Playgroud)

那么,这段代码到现在为止是否正确?另外,我怎样才能按照上面描述的方式将列分成2个不同的数组?

csv objective-c

7
推荐指数
1
解决办法
1万
查看次数

确定在Flask视图中按下了哪个WTForms按钮

我有一个带有多个链接的页面,可以将用户重定向到不同的页面.我认为使用表单会更好,所以我定义了一个Form具有多个的WTForms SubmitFields.如何确定单击了哪个按钮并根据该按钮进行重定向?

class MainForm(Form):
    user_stats = SubmitField('User Stats')
    room_stats = SubmitField('Room Stats')

@main.route('/')
@login_required
def index():
    form = MainForm()    
    return render_template('index.html', form=form)
Run Code Online (Sandbox Code Playgroud)
<form action="#" method="post">
    {{ wtf.quick_form(form) }}
</form>
Run Code Online (Sandbox Code Playgroud)

python flask wtforms flask-wtforms

4
推荐指数
1
解决办法
4774
查看次数

使用 Flask-SQLAlchemy 反射表会引发 RuntimeError:应用程序未注册

我有一个 SQLite 数据库来管理用户登录,以及一个现有的 MySQL 数据库。我将 MySQL 数据库添加到 Flask-SQLAlchemySQLALCHEMY_BINDS配置中。当我尝试反映表格时,出现以下错误:

RuntimeError: application not registered on db instance and no application bound to current context
Run Code Online (Sandbox Code Playgroud)

如何正确反映表格?

__init__.py

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from config import config

db = SQLAlchemy()

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    db.init_app(app)

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    return app
Run Code Online (Sandbox Code Playgroud)

manage.py

from myapp import create_app
from flask.ext.migrate import Migrate, MigrateCommand

app = create_app(os.getenv('FLASK_CONFIG') or 'default')
manager = Manager(app)
migrate = …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask flask-sqlalchemy

4
推荐指数
1
解决办法
2408
查看次数

Django Rest Framework:具有通用外键的可写嵌套序列化器

有示例如何创建像这样的可写嵌套序列化程序,然后如何序列化通用外键(此处)。

但是我找不到同时进行这两项操作的方法,即如何为通用外键字段创建嵌套的可写序列化程序。

在我的模型中,有一个Meeting模型,GenericForeignKey其可以是DailyMeeting或可以是WeeklyMeeting

class Meeting(models.Model):
    # More fields above
    content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
    object_id = models.PositiveIntegerField()
    recurring_meeting = GenericForeignKey('content_type', 'object_id')

class DailyMeeting(models.Model):
    meeting = GenericRelation(Meeting)
    # more fields

class WeeklyMeeting(models.Model):
    meeting = GenericRelation(Meeting)
    # more fields
Run Code Online (Sandbox Code Playgroud)

然后,在我的中创建了一个自定义字段serializers.py

class RecurringMeetingRelatedField(serializers.RelatedField):
    def to_representation(self, value):
        if isinstance(value, DailyMeeting):
            serializer = DailyMeetingSerializer(value)
        elif isinstance(value, WeeklyMeeting):
            serializer = WeeklyMeetingSerializer(value)
        else:
            raise Exception('Unexpected type of tagged object')
        return serializer.data


class MeetingSerializer(serializers.ModelSerializer):
    recurring_meeting …
Run Code Online (Sandbox Code Playgroud)

django django-serializer django-rest-framework

4
推荐指数
1
解决办法
1173
查看次数

使用缓冲区的csv writer导致空输出

我创建了一个函数来获取一些数据并将它们写入CSV并将输出存储在缓冲区中.

type OptIn struct {
    Email      string `json:"email"`
    LastUpdate string `json:"opt_in_last_update"`
}

func writeCSV(data []OptIn) ([]byte, error) {
    var buf bytes.Buffer
    writer := csv.NewWriter(&buf)

    defer writer.Flush()

    for _, obj := range data {
        var record []string
        record = append(record, obj.Email)
        record = append(record, obj.LastUpdate)
        err := writer.Write(record)
        if err != nil {
            panic(err.Error())
        }
    }

    return buf.Bytes(), nil
}
Run Code Online (Sandbox Code Playgroud)

问题是buf.Bytes()始终为空,即使输入不为空且没有抛出错误.

go

3
推荐指数
1
解决办法
405
查看次数