CSV의 한 요소를 다른 CSV의 정보로 업데이트하는 방법은 무엇입니까?

user10358702

다음과 같은 제품 행이있는 CSV가 있습니다.

SKU;price;availability;Time;Supplier;CatCode
x1;10.00;0;1-4-2019;sup1;K1
x1;10.00;0;1-4-2019;sup1;K3
x1;10.00;0;1-4-2019;sup1;K2

그리고 또 다른 csv

CATCODE;MARGIN
K1;0.08

다음 코드를 시도하여 각 csv 일치에서 catcodes 목록 행의 한 요소 만 업데이트했습니다. 이 경우 K1 만 업데이트해야하며 다른 값은 동일하게 유지됩니다. 내가 시도한 것은 다음과 같습니다.

def ChangeToFinalCSV():
    SetFixMinPrices = SetFixPrices()
    CatCodes = GetCatCodes()
    for FixMinPrice in SetFixMinPrices:                         
        for cat in CatCodes:
            if cat[0] == FixMinPrice[5]:
                FixMinPrice[1] = (((float(FixMinPrice[1].replace(',','.').replace('€','')) + float(SupplierShipping)) * float(BankingComission))*(1+float(cat[1]))) * float(1.24)
                FixMinPrice[1] = "{:.2f}".format(FixMinPrice[1])
                FixMinPrice[1] = str(FixMinPrice[1]).replace('.',',') + ' €'            
                retailed.append(FixMinPrice) 

    return retailed   
retailed = ChangeToFinalCSV()

그러나이 코드는 모든 요소를 ​​변경합니다. K1을 CatCode로 사용하는 행뿐만 아니라 Python 열거로 수행하려고 생각했지만 방법을 모르겠습니다. 두 파일의 catcode가 일치하는 위치 만 업데이트하려면 어떻게합니까? 공식을 사용하여 가격에 마진을 곱하고 싶습니다 new_price=price(1+margin).

팬더 테이블이 아닌 이니셜과 같은 CSV를 사용하려고합니다.

처럼

SKU;price;availability;Time;Supplier;CatCode
x1;10.80;0;1-4-2019;sup1;K1
x1;10.00;0;1-4-2019;sup1;K3
x1;10.00;0;1-4-2019;sup1;K2
Davedwards

를 사용하지 않고 pandas표준 파이썬과 csv모듈 만 사용 하면 여기에 한 가지 방법이 있습니다. data.csv"제품 행이있는 csv"이고 update.csv다른 하나입니다.

#coding=utf-8
import csv

def GetCatCodes():
    with open('data.csv') as csvfile:
        reader = csv.DictReader(csvfile, delimiter=';')
        return list(reader)

def SetFixPrices():
    with open('update.csv') as csvfile:
        reader = csv.DictReader(csvfile, delimiter=';')
        return list(reader)

def ChangeToFinalCSV():
    SetFixMinPrices = SetFixPrices()
    CatCodes = GetCatCodes()
    for cc in CatCodes:
        for sfp in SetFixMinPrices:
            if cc['CatCode'] == sfp['CATCODE']:
                update_value = float(cc['price']) + float(sfp['MARGIN'])
                cc['price'] = str(update_value)
    return CatCodes

retailed = ChangeToFinalCSV()

with open('newdata.csv', 'w') as f:
    fieldnames = ['SKU', 'price', 'availability', 'Time', 'Supplier', 'CatCode']
    writer = csv.DictWriter(f, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerows(retailed)

newdata.csv 이제 다음이 포함됩니다.

x1,10.08,0,1-4-2019,sup1,K1
x1,10.00,0,1-4-2019,sup1,K3
x1,10.00,0,1-4-2019,sup1,K2

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

한 목록의 요소 차이를 다른 목록의 요소로 나누는 방법은 무엇입니까?

분류에서Dev

동일한 테이블의 다른 열로 열을 업데이트하는 방법은 무엇입니까?

분류에서Dev

Pandas DataFrame에서 XML의 다른 태그 요소를 한 줄로 전달하는 방법은 무엇입니까?

분류에서Dev

다른 열의 한 요소를 기준으로 그룹을 제외하는 방법은 무엇입니까?

분류에서Dev

동일한 열의 다른 값으로 MySQL 행을 업데이트하는 방법은 무엇입니까?

분류에서Dev

두 개의 다른 구성 요소에서 동일한 redux 상태를 동시에 업데이트하는 방법은 무엇입니까?

분류에서Dev

plsql을 사용하여 다른 열의 CSV로 데이터를 표시하는 방법은 무엇입니까?

분류에서Dev

한 번의 호출로 다른 개체에서 정보를 얻는 방법은 무엇입니까?

분류에서Dev

각도의 다른 이미지로 div를 업데이트하는 방법은 무엇입니까?

분류에서Dev

한 요소의 텍스트를 다른 요소의 텍스트와 인라인으로 표시하는 방법은 무엇입니까?

분류에서Dev

Typescript에서 다른 개체의 키로 개체를 업데이트하는 방법은 무엇입니까?

분류에서Dev

한 viewController의 이미지 데이터를 다른 viewController로 보내는 방법은 무엇입니까?

분류에서Dev

다른 구성 요소의 데이터를 수정하는 방법은 무엇입니까?

분류에서Dev

단일 업데이트 쿼리에 대해 다른 열의 값을 기반으로 한 열의 값을 업데이트하는 방법은 무엇입니까?

분류에서Dev

특정 클래스를 가진 다른 요소에 따라 한 요소의 CSS를 설정하는 방법은 무엇입니까?

분류에서Dev

배열의 요소를 다른 요소에 차례로 삽입하는 방법은 무엇입니까?

분류에서Dev

xslt를 사용하여 서로 다른 복잡한 요소의 서로 다른 두 노드의 값을 곱하고 합하는 방법은 무엇입니까?

분류에서Dev

서로 다른 두 요소의 두 이벤트가 발생한 경우에만 함수를 실행하는 방법은 무엇입니까?

분류에서Dev

DataTable의 데이터를 조건부로 업데이트하는 가장 빠른 방법은 무엇입니까?

분류에서Dev

javascript 또는 jQuery로 다른 요소의 요소 위치를 변경하는 방법은 무엇입니까?

분류에서Dev

동일한 데이터를 나타내는 두 개의 다른 React 컴포넌트 인스턴스를 업데이트하는 방법은 무엇입니까?

분류에서Dev

한 모델의 데이터를 다른 모델로 병합하는 방법은 무엇입니까?

분류에서Dev

한 번의 버튼 클릭으로 다른 반응 구성 요소를 렌더링하는 방법은 무엇입니까? (기능적 구성 요소)

분류에서Dev

TextField 값 변경이 SwiftUI의 다른 데이터에 대한 업데이트를 트리거하는 방법은 무엇입니까?

분류에서Dev

다른 CSS 파일 / 클래스로 요소를 재정의하지 않는 방법은 무엇입니까?

분류에서Dev

JQuery : 데이터로 클래스의 특정 요소를 선택한 다음 대상으로 사용하는 방법은 무엇입니까?

분류에서Dev

뷰에서 zend의 다른 지정된 컨트롤러의 작업으로 데이터를 보내는 방법은 무엇입니까?

분류에서Dev

목록의 특정 요소를 업데이트하는 방법은 무엇입니까?

분류에서Dev

다른 테이블의 다른 값으로 mysql 열을 업데이트하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    한 목록의 요소 차이를 다른 목록의 요소로 나누는 방법은 무엇입니까?

  2. 2

    동일한 테이블의 다른 열로 열을 업데이트하는 방법은 무엇입니까?

  3. 3

    Pandas DataFrame에서 XML의 다른 태그 요소를 한 줄로 전달하는 방법은 무엇입니까?

  4. 4

    다른 열의 한 요소를 기준으로 그룹을 제외하는 방법은 무엇입니까?

  5. 5

    동일한 열의 다른 값으로 MySQL 행을 업데이트하는 방법은 무엇입니까?

  6. 6

    두 개의 다른 구성 요소에서 동일한 redux 상태를 동시에 업데이트하는 방법은 무엇입니까?

  7. 7

    plsql을 사용하여 다른 열의 CSV로 데이터를 표시하는 방법은 무엇입니까?

  8. 8

    한 번의 호출로 다른 개체에서 정보를 얻는 방법은 무엇입니까?

  9. 9

    각도의 다른 이미지로 div를 업데이트하는 방법은 무엇입니까?

  10. 10

    한 요소의 텍스트를 다른 요소의 텍스트와 인라인으로 표시하는 방법은 무엇입니까?

  11. 11

    Typescript에서 다른 개체의 키로 개체를 업데이트하는 방법은 무엇입니까?

  12. 12

    한 viewController의 이미지 데이터를 다른 viewController로 보내는 방법은 무엇입니까?

  13. 13

    다른 구성 요소의 데이터를 수정하는 방법은 무엇입니까?

  14. 14

    단일 업데이트 쿼리에 대해 다른 열의 값을 기반으로 한 열의 값을 업데이트하는 방법은 무엇입니까?

  15. 15

    특정 클래스를 가진 다른 요소에 따라 한 요소의 CSS를 설정하는 방법은 무엇입니까?

  16. 16

    배열의 요소를 다른 요소에 차례로 삽입하는 방법은 무엇입니까?

  17. 17

    xslt를 사용하여 서로 다른 복잡한 요소의 서로 다른 두 노드의 값을 곱하고 합하는 방법은 무엇입니까?

  18. 18

    서로 다른 두 요소의 두 이벤트가 발생한 경우에만 함수를 실행하는 방법은 무엇입니까?

  19. 19

    DataTable의 데이터를 조건부로 업데이트하는 가장 빠른 방법은 무엇입니까?

  20. 20

    javascript 또는 jQuery로 다른 요소의 요소 위치를 변경하는 방법은 무엇입니까?

  21. 21

    동일한 데이터를 나타내는 두 개의 다른 React 컴포넌트 인스턴스를 업데이트하는 방법은 무엇입니까?

  22. 22

    한 모델의 데이터를 다른 모델로 병합하는 방법은 무엇입니까?

  23. 23

    한 번의 버튼 클릭으로 다른 반응 구성 요소를 렌더링하는 방법은 무엇입니까? (기능적 구성 요소)

  24. 24

    TextField 값 변경이 SwiftUI의 다른 데이터에 대한 업데이트를 트리거하는 방법은 무엇입니까?

  25. 25

    다른 CSS 파일 / 클래스로 요소를 재정의하지 않는 방법은 무엇입니까?

  26. 26

    JQuery : 데이터로 클래스의 특정 요소를 선택한 다음 대상으로 사용하는 방법은 무엇입니까?

  27. 27

    뷰에서 zend의 다른 지정된 컨트롤러의 작업으로 데이터를 보내는 방법은 무엇입니까?

  28. 28

    목록의 특정 요소를 업데이트하는 방법은 무엇입니까?

  29. 29

    다른 테이블의 다른 값으로 mysql 열을 업데이트하는 방법은 무엇입니까?

뜨겁다태그

보관