Więc mam dwa pliki .csv, gdzie pierwsza linia w pliku 1 jest:Łączenie 2 pliki .csv przez wspólne kolumny
MPID,Title,Description,Model,Category ID,Category Description,Subcategory ID,Subcategory Description,Manufacturer ID,Manufacturer Description,URL,Manufacturer (Brand) URL,Image URL,AR Price,Price,Ship Price,Stock,Condition
Pierwszy wiersz z pliku 2:
Regular Price,Sale Price,Manufacturer Name,Model Number,Retailer Category,Buy URL,Product Name,Availability,Shipping Cost,Condition,MPID,Image URL,UPC,Description
a następnie reszta każdego pliku jest wypełniona informacją.
Jak widać, oba pliki mają wspólne pole o nazwie MPID (plik 1: col 1, plik 2: col 9, gdzie pierwszy col to col 1).
Chciałbym stworzyć nowy plik, który połączy te dwa pliki, patrząc na tę kolumnę (jak w: jeśli istnieje MPID, który jest w obu plikach, to w nowym pliku ten MPID pojawi się z obu wiersz z pliku 1 i jego wiersz z pliku 2). JEŚLI jeden MPID pojawia się tylko w jednym pliku, powinien również przejść do tego połączonego pliku.
Pliki nie są w żaden sposób sortowane.
Jak to zrobić na komputerze debian ze skryptem powłoki lub pythonem?
Dzięki.
EDYCJA: Oba pliki nie mają przecinków innych niż te, oddzielające pola.
przyłączenia działa świetnie; ale pliki wejściowe muszą być posortowane na kluczu. również nie może odczytać dowolnych plików csv. w szczególności, przecinek w cytowanym polu przesunie wszystkie pola do tego rekordu: – Javier
@Javier: agreed - i dlatego zaktualizowałem swoją odpowiedź, aby powiedzieć tyle, nawet nie widząc twojego komentarza (który był prawdopodobnie w przygotowaniu w tym samym czasie byłem redagowanie). –