zoukankan      html  css  js  c++  java
  • 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: 
    %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

  • 相关阅读:
    colemak,你用了吗?
    DELPHI一个对付内存汇漏的办法和技巧
    使用for in 循环数据集
    今天差点被断电搞死了,幸好IDE的备份救了我
    为什么继续选择DELPHI?
    无缘DELPHI的BUG
    DELPHI DOUBLE不解之迷
    失败的大牛事件委托,与我的委托
    2017-02-08 01:19:09 Scrapy: pk5_mylist
    2016-09-02 16:50:15 webqq 协议分析
  • 原文地址:https://www.cnblogs.com/ArsenalfanInECNU/p/7614847.html
Copyright © 2011-2022 走看看