Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 多列上的csvjoin_Python_Bash_Csv_Join_Inner Join - Fatal编程技术网

Python 多列上的csvjoin

Python 多列上的csvjoin,python,bash,csv,join,inner-join,Python,Bash,Csv,Join,Inner Join,我有以下csv文件,我想内部连接 csv1:Trip_Data.CSV(250MB) CSV 2:车费(1.70GB) 我想在以下列中合并两个CSV文件:medallion,hack\u license,picku\u datetime 我使用的是csvjoin,但它只允许我加入每个csv文件中的一列。有没有办法,我可以在连接条件中添加更多的列 仅使用csvjoin查询加入medallion: csvjoin -c medallion rand_trip_data_1.csv trip_fare

我有以下csv文件,我想
内部连接

csv1:Trip_Data.CSV(250MB)

CSV 2:车费(1.70GB)

我想在以下列中合并两个CSV文件:
medallion
hack\u license
picku\u datetime

我使用的是
csvjoin
,但它只允许我加入每个csv文件中的一列。有没有办法,我可以在连接条件中添加更多的列

仅使用
csvjoin
查询加入
medallion

csvjoin -c medallion rand_trip_data_1.csv trip_fare_1.csv > trip_data_1.csv
在bash中查询(但它不起作用)

我也愿意接受其他bash/python建议。谢谢

我过去常常解决我的问题

import pandas as pd

data = pd.read_csv("test_rand.csv")
fare = pd.read_csv("test_fare.csv")

merged = pd.merge(data, fare, how='left', on=['medallion', 'hack_license', 'pickup_datetime'])
merged.to_csv("merged.csv", index=False)
我建议使用。
csvjoin -c medallion rand_trip_data_1.csv trip_fare_1.csv > trip_data_1.csv
join -t , -1 1,2,6 -2 1,2,4 rand_trip_data_1.csv trip_fare_1.csv > trip_data_1.csv
join: illegal field number -- 1,2,6
import pandas as pd

data = pd.read_csv("test_rand.csv")
fare = pd.read_csv("test_fare.csv")

merged = pd.merge(data, fare, how='left', on=['medallion', 'hack_license', 'pickup_datetime'])
merged.to_csv("merged.csv", index=False)