phpcsv 格式php自定义,php-为SilverStripe创建自定义CSV导入器

我正在为SilverStripe网站构建自定义导入控件,因为不幸的是,要使用的CSV文件格式不正确,并且无法改进(基本上,我们必须使用给出的内容).这些文件包含半彩色分隔的数据,并且每一行都是一个条目:

"[ID]";"[First Name]";"[Middle Initial]";"[Last Name]";"[Title]";"[University/College]";"[Specialty]";"[Graduation Date]"

这些值中的任何一个都可以为空(即,条目可能没有中间的首字母,也可能没有列出的专业名称).然后将这些字段标记为双引号中的单个空格:

"[ID]";"[First Name]";" ";"[Last Name]";"[Title]";"[University/College]";" ";"[Graduation Date]"

同样重要的是要注意,CSV文件没有标题,因此它们不太可能具有它们.我已经阅读了有关SilverStripe的CSVBulkLoader类的信息,但似乎没有标题就很难使用它.另外,还有像我提到的空白字段的问题.

是否可以在分号处设置一个文件来破坏CSV文件中的数据?这样,我可以将所有值都显示在一行上,并且可以将它们映射到SilverStripe管理模型中的字段.

这是我目前正在使用的管理员模型:

class PhysicianEducationAdmin extends ModelAdmin {

private static $managed_models = array('PhysicianEducation');

private static $url_segment = 'physicianeducation';

private static $menu_title = 'Physician Education Info';

}

class PhysicianEducation extends DataObject {

private static $db = array(

'ProviderID' => 'varchar',

'FirstName' => 'varchar(250)',

'MiddleName' => 'varchar(250)',

'LastName' => 'varchar(250)',

'Title' => 'varchar(10)',

'Institution' => 'varchar(550)',

'Education' => 'varchar(250)',

'Specialty' => 'varchar(250)',

'EndDate' => 'Date',

);

public static $summary_fields = array(

'ProviderID' => 'Provider ID',

'FirstName' => 'First Name',

'MiddleName' => 'Middle Initial',

'LastName' => 'Last Name',

'Title' => 'Title',

'Institution' => 'Institution',

'Education' => 'Education',

'Specialty' => 'Speciality',

'EndDate' => 'End Date',

);

}

解决方法:

它允许您指定定界符(为您“;”)和附件(为您“’””),这是默认设置.

标签:silverstripe,csv,php

来源: https://codeday.me/bug/20191120/2040294.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值