我在代码中有一个部分,要求我上载CSV文件并删除响应列下所有没有yes的行,然后将具有yes的行上载到PHP中的mongo DB,每个CSV文件必须在数据库中创建一个单独的文档。任何想法如何做到这一点? Sample CSV file
答案 0 :(得分:1)
HTML代码
<input type="file" id="csv_sheet" name="csv_sheet">
<button id="bt_upload">Upload</button>
使用此脚本从CSV文件中删除响应列下没有“是”的所有行。
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#csv_sheet').change(function(){
var fileName = $(this).val();
var path = URL.createObjectURL(event.target.files[0]);
d3.csv(path, function(data) {
jsonData = data;
filter_data(data);
}
});
});
function filter_data(data){
var filltered_data = {};
$.each( data, function( key, value ) {
if(value.response != 'yes'){
filltered_data.push(key);
}
});
$.ajax({
type:'POST',
url:'url',
data:JSON.stringify(filltered_data),
dataType:'json',
})
.done(function( json ) {
alert("successfully uploaded");
})
.fail(function( xhr, status, errorThrown ) {
alert( "Sorry, there was a problem!" );
console.log( "Error: " + errorThrown );
console.log( "Status: " + status );
console.dir( xhr );
});
} // end of filter_data function
</script>
PHP代码:
$input = urldecode(file_get_contents('php://input'));
$insertOneResult = $db->inventory-> insertMany([$input
]);