我只需要替换csv中第三列的值。而且没有其他地方。 我的csv的第3列只包含一个' J'或者是' N'我需要将它们改为' 5'或' 0'。但是现在我改变了所有在整个文件中找到的N和J#s。但我需要它只在第三列更新。
我使用以下代码打开并重写我的csv。但它总是将所有发现的信件写入5或0。
var a = 0;
var b = 0;
var c = 0;
var d = 0;
var total = a + b + c + d
$('.button').click(function(){
a = 20;
});
$('button2').click(function(){
b = 40;
});
$('.totaldiv').html("Your total is " + total)
答案 0 :(得分:1)
很多方法,你可能会得到很多答案。这是一个:
int def(char ***B){
*B = malloc(3 * sizeof(char *));
for(i=0; i<2; i++){
(*B)[i] = malloc(5 * sizeof(char));
}
...
}
...
char **B;
...
def( &B ); /* Note the 'address-of' operator! */
答案 1 :(得分:1)
while ($data = fgetcsv($handle)) {
$data[2] = str_replace(['J', 'N'], ['5', '0'], $data[2]);
fputcsv($fp, $data);
echo "<p> ".count($data)." Felder in Zeile ".$row++.": <br /></p>\n";
}
修改强>
!== FALSE
移除了while
部分,每次都不将结果与false进行比较,最后fgetcsv()
将返回false并停止循环str_replace
及其'arguments-arrays(仅限可读性)for
循环,仅更改第3个([2]
)coloumn $num
变量答案 2 :(得分:0)
您正在遍历CSV的每一列。为什么不直接处理特定列?一个简单的三元可以做到这一点
$data[2] = ($data[2] == 'J') ? '5' : '0';