function convertToJson($input) { // Usunięcie klamer $input = trim($input, "{}"); // Zamiana kluczy na poprawny format JSON (dodanie cudzysłowów wokół kluczy) $input = preg_replace('/(\d+):/', '"$1":', $input); // Dodanie nawiasów klamrowych, aby uzyskać poprawny JSON $json = "{".$input."}"; return $json; } $content = file_get_contents( 'export.csv' ); $lines = explode( "\n", $content ); $header = explode( ',', array_shift( $lines ) ); for ( $i = 1; $i < count( $lines ); $i++ ) { $data = str_getcsv( $lines[$i] ); $json_field = $data[7] ?? null; if ( $json_field ) { $json_data = json_decode( $json_field, true ); if ( json_last_error() === JSON_ERROR_NONE ) { $json_data['rate'] = convertToJson( $json_data['rate'] ); $rate = json_decode( $json_data['rate'], true ); if ( $rate ) { $json_data['rate'] = $rate; } $data[7] = $json_data; } } $rows[] = array_combine( $header, $data ); } echo '
';
print_r( $rows[22] );
foreach ( $rows as $row ) {
// csv z ocenami zamówień
unset( $order_csv_line );
$order_csv_line['order_id'] = ++$z;
$order_csv_line['UNIX_TIMESTAMP'] = strtotime( $row['created_at'] );
$order_csv_line['RATING'] = str_replace( 'Ocena sklepu::', '', $row['rate2'] );
$order_csv_line['TEXT_REVIEW'] = $row['opinion'];
if ( $order_csv_line['RATING'] )
$order_csv_lines[] = $order_csv_line;
// csv z ocenami produktów
unset( $product_csv_line );
}
unlink( 'order.csv' );
$csv_file = fopen( 'order.csv', 'w' );
fputcsv( $csv_file, array_keys( $order_csv_lines[0] ) );
foreach ( $order_csv_lines as $line ) {
fputcsv( $csv_file, $line );
}
fclose( $csv_file );
// show url to csv
echo 'Pobierz CSV';