gpt4 book ai didi

php将sqlite表导出到csv

转载 作者:行者123 更新时间:2023-12-03 03:34:29 25 4
gpt4 key购买 nike

我正在尝试使用 php 将表导出到 CSV 文件,它使用以下代码:

while($row = $results->fetchArray()) {
print '"' . stripslashes(implode('","',$row)) . "\"\n";
}

但是,当我查看 CSV 文件时,它会创建每个字段的重复项。我不知道如何将它们限制为每个字段一个。

最佳答案

这是因为SQLite3Result::fetchArray默认情况下,为结果中的每一列获取数字索引和命名索引。所以 $row 可能看起来像这样:

array(
0 => 'Fred',
'firstname' => 'Fred',
1 => 'Jones',
'lastname' => 'Jones',
2 => 'fredjones@example.com',
'email' => 'fredjones@example.com'
)

解决这个问题的方法是通过传递常量来指定 fetchArray 调用中的其他行为:

while ($row = $results->fetchArray(SQLITE3_ASSOC)) {

这意味着只会获取列的名称。同样,您可以执行SQLITE3_NUM:在您的情况下,这没有什么区别。

另请注意,输出 CSV 数据的更好方法是使用 fputcsv方法,根据需要处理封闭和逃逸。它需要一个文件句柄:如果您只想回显数据,可以使用 STDOUT 常量:

fputcsv(STDOUT, $row);

Running example

关于php将sqlite表导出到csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19747463/

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