gpt4 book ai didi

php - CSV 文件和数据库

转载 作者:行者123 更新时间:2023-11-29 08:42:33 25 4
gpt4 key购买 nike

以下是我的 CSV 文件的示例:

Name  | USD------------Ifone | 500Ufone | 600

I want to read my csv file where my php script reads the first row and then (How to) create table accordingly as per the elements of the first row being returned like from the above example the row elements will be Name and USD.

Create table csv
{
$column1 varchar (50)
$column2 varchar (50)
}

然后(如何)将从第二行开始的元素存储在创建的表中,依此类推。请让我知道什么是适当的方法。

谢谢

我使用以下函数从 csv 文件获取数据:

$row = 1;
if (($handle = fopen("mycsv.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}

最佳答案

更好的方法是:

1) 研究 CSV 表格格式并根据您的情况决定字段名称和类型,例如

fonemodel varchar(50);
cost integer; -- or a monetary field

2) 从上面的字段手动创建表

CREATE TABLE fones ...

3)直接导入文件:

LOAD DATA LOCAL INFILE '/path/to/mycsv.csv'
INTO TABLE fones
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES

终止和封装取决于 CSV 结构(您提供的示例实际上是管道分隔)。

存储两个表后,您可以在适当的数据类型之间进行比较(varchar 可能会给您带来麻烦 - 599 可能被认为小于 60,因为 字符“5”位于“6”之前)

更新

假设真正的 CSV 是这样的

 UFone,500,useless data,1234,other useless info,blah blah

您只需要型号、成本和库存,即第 1、2 和 4 列。然后您将输入指定为:

 ...INTO TABLE fones (model, cost, @ignore, stock, @ignore, @ignore)...

而不是简单地INTO TABLE

有关 MySQL's manual page 的更多信息.

关于php - CSV 文件和数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13402051/

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