我有两个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)