我有一个来自excel的文件b.xls
我需要将其导入我的rails应用程序
我试图打开它
file = File.read(Rails.root.to_s+'/b.xls')
file.encoding => #Encoding:UTF-8
我几乎没有问题:
如何将此文件转换为哈希?
文件相当大约5k行
答案 0 :(得分:0)
您必须拥有所有行的数组,然后如果您愿意,可以将其转换为某个哈希值。
我建议使用require 'batch_factory'
factory = BatchFactory.from_file(
Rails.root.join('b.xlsx'),
keys: [:column1, :column2, ..., :what_ever_column_name]
)
gem
宝石非常简单,依赖于引擎盖下的factory.each do |row|
puts row[:column1]
end
宝石
这是代码示例
keys
然后你可以做
batch_factory
您也可以省略指定factory.each do |row|
puts row['Товар']
end
。然后factory.inject({}) do |hash, row|
hash.merge(row['Товар'] => row)
end
将自动从第一行获取标头。但你的钥匙将是俄语。像
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "id", unique = true)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
如果您希望使用产品名称作为密钥进行哈希,则可以执行
{{1}}