gpt4 book ai didi

mysql - 如何使用 MySql 将 CSV 文件上传到多个数据库表中?

转载 作者:行者123 更新时间:2023-11-29 15:14:38 24 4
gpt4 key购买 nike

我想将 .csv 文件上传到数据库中,但在 3 个不同的表中。我的意思是,.csv 文件中有三列,然后我想将每一列插入到不同的表中。我该怎么做?任何人都可以举出任何例子或想法来做到这一点。

最佳答案

如果您希望在 db 中上传 csv 文件,这里是一个示例

public function upload(Request $request){   //upload csv

$file = $request->file('file');
$csvData = file_get_contents($file);
$rows = array_map("str_getcsv", explode("\n", $csvData));

//CSV headers
$header = array_shift($rows);

$escapedHeader=[];

//to converting lowercase and remove spaces
foreach ($header as $key => $value) {
$lheader=strtolower($value);
$escapedItem=preg_replace('/[^a-z]/', '', $lheader);
array_push($escapedHeader, $escapedItem);
}

//storing data to database
foreach($rows as $row) {
if (count($header) != count($row)) {
continue;
}

//This will generate a associate array with headers.
$row = array_combine($escapedHeader, $row);//dd($row);

// if there are 3 tables named - student, course, grade
Student::create([
'fname' => $row['firstname'],
'lname' => $row['lastname'],
]);

Course::create([
'course' => $row['course'],
]);

Grade::create([
'grade' => $row['score'],
]);
}

Session::flash('message', 'CSV file imported!');

return response()->json('success');
}

关于mysql - 如何使用 MySql 将 CSV 文件上传到多个数据库表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59817379/

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