我有一个.txt(csv)文件,我想通过PHP读取并将其排列在数组中,以便我可以稍后insert
或update
将其导入MySQL,text
文件是这样的:
FIELD1;FIELD2;FIELD3;FIELD4
CATEGORY 1(SOME VALUE in PARENTHESIS)
Sub-Category 1
VALUEof1;VALUEof2;VALUEof3;VALUEof4
VALUEof1;VALUEof2;VALUEof3;VALUEof4
VALUEof1;VALUEof2;VALUEof3;VALUEof4
Sub-Category 2
VALUEof1;VALUEof2;VALUEof3;VALUEof4
VALUEof1;VALUEof2;VALUEof3;VALUEof4
VALUEof1;VALUEof2;VALUEof3;VALUEof4
CATEGORY 2(SOME VALUE in PARENTHESIS)
Sub-Category 1
VALUEof1;VALUEof2;VALUEof3;VALUEof4
VALUEof1;VALUEof2;VALUEof3;VALUEof4
VALUEof1;VALUEof2;VALUEof3;VALUEof4
我已经能够单独阅读每一行,除了我已经完全空白并且无法弄清楚要做什么,任何建议或方向将不胜感激
答案 0 :(得分:0)
您可以使用以下MYSQL查询导入.csv文件。 请记住,您必须将CSV文件中的列与表格中的列相匹配。 另外,我建议您参考LOAD DATA INFILE。
https://dev.mysql.com/doc/refman/5.7/en/load-data.html
MATCH (marketplace:`Marketplace`),
(marketplace)-[rel_has_product_products:HAS_PRODUCT]->(products:`Product`),
(product:`Product`),
(product)-[rel_has_product_feed_productFeed:HAS_PRODUCT_FEED]->(productFeed:`ProductFeed`)
WITH product, marketplace,
count(productFeed) AS productFeed_count
WHERE id(marketplace) = 123481
and productFeed_count >= 1
RETURN product
答案 1 :(得分:0)
请使用此函数解析文件。现在您将获取数组中的数据,以便轻松插入数据库。
function parse_data( $file, $delimiter) {
// Set locale
$enc = mb_detect_encoding( $file, 'UTF-8, ISO-8859-1', true );
if ( $enc )
setlocale( LC_ALL, 'en_US.' . $enc );
@ini_set( 'auto_detect_line_endings', true );
$parsed_data = array();
$raw_headers = array();
// Put all CSV data into an associative array
if ( ( $handle = fopen( $file, "r" ) ) !== FALSE ) {
$header = fgetcsv( $handle, 0, $delimiter );
if ( $start_pos != 0 )
fseek( $handle, $start_pos );
while ( ( $postdata = fgetcsv( $handle, 0, $delimiter ) ) !== FALSE ) {
$row = array();
foreach ( $header as $key => $heading ) {
if ( $heading == '' )
continue;
// Add the heading to the parsed data
$row[$heading] = ( isset( $postdata[$key] ) ) ? $postdata[$key]: '';
// Raw Headers stores the actual column name in the CSV
$raw_headers[ $heading ] = $heading;
}
$parsed_data[] = $row;
unset( $postdata, $row );
}
fclose( $handle );
}
return array( $parsed_data, $raw_headers );
}