搜索与将csv文件中的值与python进行比较
我有两个 csv 文件 - 一个 master 和一个 csv 文件。一个更新文件。我想从更新文件中获取特定列,&检查主设备的值。
两个文件将具有相同的列和内容。应该大致如下所示:
Listed Company's English Name,Listed Company's Chinese Name,Stock Code,Listing Status,Director's English Name,Director's Chinese Name,Capacity,Position,Appointment Date (yyyy-mm-dd),Resignation Date (yyyy-mm-dd)
C.P. Lotus Corporation,________,00122,Current,CHEARAVANONT Dhanin,___,Executive Director,,2009-12-31,
C.P. Lotus Corporation,________,00121,Current,CHEARAVANON Narong,___,Executive Director,,2001-02-01,
C.P. Lotus Corporation,________,00121,Current,CHEARAVANONT Soopakij,___,Executive Director,CEO,2000-04-14,
基本上,我想遍历更新文件,从更新文件中获取每个股票代码值&检查主文件中是否存在。
然后,对于每个匹配的股票代码,我需要检查董事姓名值的差异,并跟踪那些不匹配的代码。
我已经按照这个示例进行操作,但它似乎并没有完全满足我的需要(或者我没有完全理解它......): Python:比较两个 CSV 文件并搜索相似项目
f1 = file(csvHKX, 'rU')
f2 = file(csvWRHK, 'rU')
f3 = file('results.csv', 'w')
csv1 = csv.reader(f1)
csv2 = csv.reader(f2)
csv3 = csv.writer(f3)
scode = [row for row in csv2]
for hkx_row in csv1:
for wrhk_row in scode:
if hkx_row[2] != wrhk_row[2]:
print 'HKX:', hkx_row
continue
f1.close()
f2.close()
f3.close()
更新文件包含以下股票代码:“00121”和“00121”。 “01003”(用于测试)。
看起来代码正在遍历列表来比较每一行和每行。如果股票代码逐行不匹配,则打印一行。因此,当第一列读取“00121”时,它会打印出包含“01003”和“01003”的行。反之亦然。
但我只对何时在 wrhk_row[2] 中找不到 hkx_row[2] 感兴趣
I have two csv files - a master & an update file. I want take specific columns from the update file, & check the values against the master.
Both files will have the same columns & should look roughly like this:
Listed Company's English Name,Listed Company's Chinese Name,Stock Code,Listing Status,Director's English Name,Director's Chinese Name,Capacity,Position,Appointment Date (yyyy-mm-dd),Resignation Date (yyyy-mm-dd)
C.P. Lotus Corporation,________,00122,Current,CHEARAVANONT Dhanin,___,Executive Director,,2009-12-31,
C.P. Lotus Corporation,________,00121,Current,CHEARAVANON Narong,___,Executive Director,,2001-02-01,
C.P. Lotus Corporation,________,00121,Current,CHEARAVANONT Soopakij,___,Executive Director,CEO,2000-04-14,
Basically, I want to traverse the update file, taking each stock code value from the update file & checking to see if it exists in the master file.
Then, for each matching stock code, I need to check for differences in the Director name value, keeping track of those that don't match.
I've followed this example but it doesn't seem to do quite what I need (or i don't fully understand it...): Python: Comparing two CSV files and searching for similar items
f1 = file(csvHKX, 'rU')
f2 = file(csvWRHK, 'rU')
f3 = file('results.csv', 'w')
csv1 = csv.reader(f1)
csv2 = csv.reader(f2)
csv3 = csv.writer(f3)
scode = [row for row in csv2]
for hkx_row in csv1:
for wrhk_row in scode:
if hkx_row[2] != wrhk_row[2]:
print 'HKX:', hkx_row
continue
f1.close()
f2.close()
f3.close()
The update file contains the following stock codes: '00121' & '01003' (for testing).
It seems like the code is iterating through the lists comparing each line & printing out a line if the stock codes don't match line for line. So when the first column is reading '00121' it's printing out lines containing '01003' & vice versa.
But I am only interested in when it can't find hkx_row[2] ANYWHERE in wrhk_row[2]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这对你有帮助吗? :
文件master.csv
文件update.csv
代码
结果
Do this help you ? :
file master.csv
file update.csv
code
result