PDA

View Full Version : مقایسه دو فایل csv ؟



saeedvir
چهارشنبه 01 مرداد 1393, 06:53 صبح
می خواستم ببینم برای اینکه دو تا فایل csv را با هم مقایسه کنیم ، تنها راه استفاده از دو تا حلقه هست ؟

راه بهینه تری نیست ؟

چون فایل ها بالای 12,000 خط هستند.

مهرداد سیف زاده
چهارشنبه 01 مرداد 1393, 09:39 صبح
اگر سرور مال خودته یا نرم افزار روی کامپیوتر محلی داره اجرا میشه میتونی از shell کمک بگیری. اگر ویندوزی هست روش زیر
http://blogs.technet.com/b/stefan_stranger/archive/2011/02/08/compare-two-different-csv-files-using-powershell.aspx

و اگر لینوکسی
http://www.unix.com/shell-programming-and-scripting/116245-comparing-2-csv-files-matching-content.html
http://superuser.com/questions/234810/how-do-i-compare-two-files-with-a-shell-script

saeedvir
جمعه 17 مرداد 1393, 07:57 صبح
خودم پیدا کردم :


<?php
function row_compare()
{

$file1 = file('./p1.txt',FILE_IGNORE_NEW_LINES);
$file2 = file('./p2.txt',FILE_IGNORE_NEW_LINES);
sort($file1);
sort($file2);
$diff = array_diff($file2, $file1);
//array_unshift($diff, "sku,qty,is_in_stock");
file_put_contents('./file4.csv', "\xEF\xBB\xBF".implode(PHP_EOL,$diff)); //"\xEF\xBB\xBF" : for utf8

$diff2 = array_diff($file1, $file2);
//array_unshift($diff, "sku,qty,is_in_stock");
file_put_contents('./file5.csv', "\xEF\xBB\xBF".implode(PHP_EOL,$diff2));//"\xEF\xBB\xBF" : for utf8

}
?>