Python 多列上的csvjoin
我有以下csv文件,我想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
内部连接
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)