복붙노트

[PYTHON] csv의 컬럼에 파이썬리스트 작성하기

PYTHON

csv의 컬럼에 파이썬리스트 작성하기

저는 5 개의리스트를 가지고 있는데, 모두 같은 길이입니다. 나는 이것을 CSV의 5 개 컬럼에 쓰고 싶습니다. 지금까지이 코드를 사용하여 열에 하나만 쓸 수 있습니다.

with open('test.csv', 'wb') as f:
    writer = csv.writer(f)
    for val in test_list:
        writer.writerow([val])

for 루프를 추가하면 같은 열에 해당 목록 만 씁니다. 누구든지 5 개의 별도 열을 얻을 수있는 좋은 방법을 알고 있습니까?

해결법

  1. ==============================

    1.그들을 행으로 바꾼다.

    그들을 행으로 바꾼다.

    rows = zip(list1,list2,list3,list4,list5)
    

    그럼 그냥

    import csv
    
    with open(newfilePath, "w") as f:
        writer = csv.writer(f)
        for row in rows:
            writer.writerow(row)
    
  2. ==============================

    2.다음 코드는 csv의 열에 파이썬 목록을 씁니다.

    다음 코드는 csv의 열에 파이썬 목록을 씁니다.

    import csv
    from itertools import zip_longest
    list1 = ['a', 'b', 'c', 'd', 'e']
    list2 = ['f', 'g', 'i', 'j']
    d = [list1, list2]
    export_data = zip_longest(*d, fillvalue = '')
    with open('numbers.csv', 'w', encoding="ISO-8859-1", newline='') as myfile:
          wr = csv.writer(myfile)
          wr.writerow(("List1", "List2"))
          wr.writerows(export_data)
    myfile.close()
    

    결과는 다음과 같습니다.

  3. ==============================

    3.izip을 사용하여 목록을 결합한 다음 반복 할 수 있습니다.

    izip을 사용하여 목록을 결합한 다음 반복 할 수 있습니다.

    for val in itertools.izip(l1,l2,l3,l4,l5):
        writer.writerow(val)
    
  4. ==============================

    4.

    import csv
    dic = {firstcol,secondcol} #dictionary
    csv = open('result.csv', "w") 
    for key in dic.keys():
        row ="\n"+ str(key) + "," + str(dic[key]) 
        csv.write(row)
    
  5. ==============================

    5.제 3 자 라이브러리를 사용하면 기꺼이 Pandas에서이 작업을 수행 할 수 있습니다. 이점에는 특수한 방법과 행 / 열 라벨링에 대한 완벽한 액세스가 포함됩니다.

    제 3 자 라이브러리를 사용하면 기꺼이 Pandas에서이 작업을 수행 할 수 있습니다. 이점에는 특수한 방법과 행 / 열 라벨링에 대한 완벽한 액세스가 포함됩니다.

    import pandas as pd
    
    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    list3 = [7, 8, 9]
    
    df = pd.DataFrame(list(zip(*[list1, list2, list3]))).add_prefix('Col')
    
    df.to_csv('file.csv', index=False)
    
    print(df)
    
       Col0  Col1  Col2
    0     1     4     7
    1     2     5     8
    2     3     6     9
    
  6. from https://stackoverflow.com/questions/17704244/writing-python-lists-to-columns-in-csv by cc-by-sa and MIT license