如何只读取第一列包含名称i的行



我有两个excel工作表正在用Python阅读。第一个工作表列出了公司名称。第二个是一张表,右边有多个相同公司的名称和数据,对应于该行。

[![工作表1][1][1]

[![工作表2][2]][2]

我想设置某种条件,如果列A WS 2中的名称与WS 1中的名称匹配,则只打印与该名称对应的行的数据(列A:F WS 2(。

我对编码还很陌生,所以我一直在玩它,但没有找到太多运气。现在我没有太多代码,因为我再次尝试重新启动。我试着只用熊猫来阅读,有时我也试着用openpyxl。

import pandas as pd 
import xlsxwriter as xlw
import openpyxl as xl

TickList = pd.read_excel("C:\Users\Ashley\Worksheet1.xlsx",sheet_name='Tickers', header=None)
stocks = TickList.values.ravel()

Data = pd.read_excel("C:\Users\Ashley\Worksheet2.xlsx", sheet_name='Pipeline', header=None, usecols="A:F")
data = Pipeline.values.ravel()

for i in stocks:
for t in data:
if i == t:
print(data)

[1]: https://i.stack.imgur.com/f6mXI.png
[2]: https://i.stack.imgur.com/4vKGR.png

我想你做错的第一件事就是没有规定键值;i〃;在股票中是指与";t";。记住-";t〃;都是价值观。您必须指定您希望匹配"0"的值;i〃;到(可能(";t";。你在这里所做的事情类似于没有正确指定目标范围的vlookup。

虽然我不知道ravel((函数存储数据的确切方法,但我不得不相信这样的方法更有可能奏效:

for i in stocks:
for t in data:
if i == t[0]:
print(t)

相关内容

  • 没有找到相关文章

最新更新