gpt4 book ai didi

php - 如果每一行都有不同的模式,则加载数据本地文件

转载 作者:行者123 更新时间:2023-11-30 22:02:11 26 4
gpt4 key购买 nike

我正在尝试使用加载数据本地 infile 查询将一个大的 csv 文件导入数据库。如果 csv 文件的所有行都具有相同的结构,它工作正常。但在我的场景中,很少有行有不同的模式和很少线条有一些其他的模式。

csv 文件看起来像这样-表名:销售额

在csv的第一行指定列名

名称:销售.csv

路径:/Path_to_the_file/Sales.csv

Transaction_date,Product,Price,Payment_Type,Name,City,State,Country,Account_Created,Last_Login,Latitude,Longitude
1/25/09 16:17,Product1,1200,Amex,Mareike,Cumming ,GA,United States,1/24/09 18:06,2/7/09 11:28,34.20722,-84.14028
1/15/09 10:37,Product1,1200,Visa,lamia,Little Compton ,RI,United States,6/28/08 11:04,2/7/09 12:00,41.51,-71.17167
1/20/09 15:28,Product1,1200,Visa,Madhu,Centennial ,CO,United States,12/2/06 23:24,2/7/09 15:18,39.57917,-104.87639
1/28/09 18:00,Product1,"13,000",Visa,sandhya,Centennial ,CO,United States,12/2/06 23:24,2/7/09 15:18,39.57917,-104.87639
1/29/09 5:06,Product1,1200,Amex,Kimberly,Herndon ,VA,United States,1/23/08 10:05,2/7/09 15:23,38.96944,-77.38639
1/6/09 18:53,Product1,1200,Visa,Tania,Vista ,CA,United States,1/5/09 22:37,2/7/09 15:48,33.2,-117.24167

Mysql 查询如下所示:

LOAD DATA LOCAL INFILE '/Path_to_the_file/Sales.csv'
INTO TABLE Sales
FIELDS TERMINATED by ','
LINES TERMINATED BY '\\n'
IGNORE 1 ROWS

查询的输出:对于第四行,它将 13 视为一个字段,将 000 视为另一个字段。请帮我解决这个问题。

最佳答案

为什么不尝试使用 php 来处理该文件。

$tmp_file = /path/to/csv;
$file = fopen($tmp_file,"r");
$ar = fgetcsv($file);

while(! feof($file))
{
$r = fgetcsv($file);


$col1 = $r[0]; //Transaction date
$col2 = $r[1]; //Product

//insert to table here.

}

fclose($file);

或者你能试试这个吗

LOAD DATA
LOCAL INFILE '/Path_to_the_file/Sales.csv'
INTO TABLE Sales
FIELDS
TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '"'
LINES
TERMINATED BY '\n'
IGNORE 0 LINES

关于php - 如果每一行都有不同的模式,则加载数据本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43039586/

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