亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python/Numpy(CSV):查找值,附加另一個 csv

Python/Numpy(CSV):查找值,附加另一個 csv

森林海 2021-08-17 18:13:59
我發現其他帖子與此密切相關,但它們沒有幫助。我有一個 Master CSV 文件,我需要從第二列中找到特定的“字符串”。如下圖:Name,ID,Title,Date,Prj1_Assigned,Prj1_closed,Prj2_assigned,Prj2_solvedJoshua Morales,MF6B9X,Tech_Rep, 08-Nov-2016,948,740,8,8Betty García,ERTW77,SME, 08-Nov-2016,965,854,15,12Kathleen Marrero,KTD684,Probation, 08-Nov-2016,946,948,na,naMark León,GSL89D,Tech_Rep, 08-Nov-2016,951,844,6,4ID 列是唯一的,因此我試圖找到“KTD684”(例如)。找到后,我需要導出“Date”、“Prj1_Assigned”、“Prj1_closed”、“Prj2_assigned”和“Prj2_solved”的值。導出將是一個文件“KTD684.csv”(與 ID 相同),其中已經有可用的標題“Date,Prj1_Assigned,Prj1_closed,Prj2_assigned,Prj2_solved”到目前為止(因為我是一名非程序員)我還沒有能夠起草這個,但可以請指導我:查找包含元素“KTD684”的行。從該行中選擇以下值:['Date,Prj1_Assigned,Prj1_closed,Prj2_assigned,Prj2_solved']請附加帶有 ID 名稱本身的文件('KTD684.csv')我需要為 45 個用戶 ID 執行此操作,現在在公司招聘時為 195。我嘗試編寫 excel 宏(也沒有工作),但我覺得 python 是最可靠的。我知道我至少需要展示基本進度,但是在嘗試向某人學習 2 個多月之后,我仍然無法在此 csv 中找到該元素。
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

如果我正確理解您的問題;您需要從 2 個輸入文件中讀?。?/p>


1 包含您要查找的用戶 ID


2 包含與用戶相關的項目數據


以這種方式,這樣的事情會在文件 2 中找到您在 1 中指定的所有用戶,并將它們寫出到 result.csv


在 search_for.csv 中指定您的搜索 ID。請記住,這將在您每次運行時重新寫入您的 result.csv。


import csv

import sys

import os



inputPatterns = open(os.curdir + '/search_for.csv', 'rt')


# Reader for the IDs (users) you are looking to find (key)

reader = csv.reader(inputPatterns)


ids = []


# reading the IDs you are looking for from search_for.csv

for row in reader:

    ids.append(row[0])

inputPatterns.close()


# Let's see if any of the user IDs we are looking for has any project related info

# if so write them to your output CSV

for userID in ids:

    # Organization list with names and Company ID and reader

    userList = open(os.curdir + '/users.csv', 'rt')

    reader = csv.reader(userList)


    # This will be the output file

    result_f = open(os.curdir + "/" + userID + ".csv", 'w')

    w = csv.writer(result_f)

    # Writing header information

    w.writerow(['Date', 'Prj1_Assigned', 'Prj1_closed', 'Prj2_assigned', 'Prj2_solved'])


    # Scanning for projects for user and appending them

    for row in reader:

        if userID == row[1]:

            w.writerow([row[3], row[4], row[5], row[6], row[7]])

    result_f.close()

    userList.close()

例如,search_for.csv看起來像這樣

http://img1.sycdn.imooc.com//611b8c0f0001285f00860048.jpg

查看完整回答
反對 回復 2021-08-17
  • 2 回答
  • 0 關注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號