Python CSV 超簡明用法


平常經常會用CSV存儲數據,不可避免的會跟CSV文件的讀寫操作扯上關系。

Python有CSV這個Package來解決這個問題,官網也有比較詳細的教程 https://docs.python.org/3/library/csv.html 。但是我覺得往往大家只是想進行簡單的讀寫、修改等操作,網上紛紛擾擾的教程和官網的教程有點大而全了,反而無法讓大家在最短的時間里實現最簡單的功能。 所以我寫一個簡明用法來方便大家。

 

假設大家有一個comma delimited格式的csv文檔(如果只有xlsx格式的Excel文件,可以先用Office Excel的另存為功能將其轉為comma delimited格式的csv文檔):

Name, School, Num

Allen, ECNU, 1

Eric, ECNU, 2

Shan, ECNU, 3

通過以下代碼進行讀取操作:

import csv

def csv_to_list(csv_path):
    print("Begin to extract csv")
    csv_content=[]
    with open(csv_path) as csvfile:
        reader = csv.reader(csvfile)
        for row in reader:
            csv_content.append(row)
    print("The content of CSV file is: \n%s" % csv_content)
    return csv_content   

獲得的是一個列表:

[ [Name, School, Num], [Allen, ECNU, 1] , [Eric, ECNU, 2], [Shan, ECNU, 3] ]

假如我們想生成一個新的CSV文件,不包含School這一列:

import csv
def write_csv(csv_write_path,csv_content):
    print("Remove the SCHOOL field of the information:")
    for each_line in csv_content:
        del(each_line[1])
    print("Ready to write data to %s" % csv_write_path)
    with open(csv_write_path,'w',newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerows(csv_content)
    print("Content has written to new csv %s" % csv_write_path)

 

最終的結果會生成這樣的一個新CSV:

Name, Num

Allen, 1

Eric, 2

Shan, 3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM