我读过一些关于这个问题的文章,但是其他的解决方案都不适合我。我试着查看2个不同的CSV文件,并比较每个文件中1列的数据。以下是我目前所拥有的:
import pandas as pd
import numpy as np
dataBI = pd.read_csv("U:/eu_inventory/EO BI Orders.csv")
dataOrderTrimmed = dataBI.iloc[:,1:2].values
dataVA05 = pd.read_csv("U:\eu_inventory\VA05_Export.csv")
dataVAOrder = dataVA05.iloc[:,1:2].values
dataVAList = []
ordersInBoth = []
ordersInBI = []
ordersInVA = []
for order in np.nditer(dataOrderTrimmed):
if order in dataVAOrder:
ordersInBoth.append(order)
else:
ordersInBI.append(order)
如果dataOrderTrimmed中的订单号也在dataVAOrder中,我想将其添加到ordersInBoth中,否则我想把它添加到ordersInBI。我认为它正确地分割了信息,但是如果我尝试打印ordersInBoth,每个项目都打印为array(5555555, dtype=int64)
,我希望有一个订单号列表,而不是数组,并且不包括dtype信息。如果您需要更多信息,或者如果我的方法不正确,请告诉我。我打出来了,很混乱。
1条答案
按热度按时间llycmphe1#
使用
.iloc
的方法是给你一个DataFrame,当你访问values
时,它变成了2D数组。如果你只想得到索引为1的列中的值,那么你只需要说:然后,您可以直接迭代
dataOrderTrimmed
(即,您不需要nditer
),并且您将获得常规标量值。