如何高效使用Python进行长尾词CSV文件的读写操作?

2026-04-20 03:261阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1545个文字,预计阅读时间需要7分钟。

如何高效使用Python进行长尾词CSV文件的读写操作?

目录+ csv简介+ csv的写入 + 第一种写入方法(通过创建writer对象) + 第二种写入方法(使用DictWriter,可使用字典的形式将数据写入)+ csv的读取 + 通过reader()读取 + 通过dictreader()读取+ 总结+ csv简介csv(逗号分隔值)是一种简单的文件格式,用于存储表格数据。它以逗号分隔每个字段,并且每个记录通常位于单独的一行上。

+ csv的写入 + 第一种写入方法(通过创建writer对象) 使用csv.writer对象可以将数据写入csv文件。首先创建一个writer对象,然后使用writerows()或writerows()方法写入数据。

+ 第二种写入方法(使用DictWriter,可使用字典的形式将数据写入) DictWriter允许使用字典来指定列名和数据,这使得写入数据更加灵活和直观。

+ csv的读取 + 通过reader()读取 使用csv.reader对象可以读取csv文件。它将每行数据作为列表返回。

+ 通过dictreader()读取 DictReader与reader类似,但它将每行数据作为字典返回,其中键是列名。

+ 总结csv是一种简单易用的数据存储格式,适用于简单的数据交换和存储。通过使用csv模块,可以方便地进行数据的读写操作。

目录
  • csv的简单介绍
  • csv的写入
    • 第一种写入方法(通过创建writer对象)
    • 第二种写入方法(使用DictWriter可以使用字典的方式将数据写入)
  • csv的读取
    • 通过reader()读取
    • 通过dictreader()读取
  • 总结

    csv的简单介绍

    CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件。python自带了csv模块,专门用于处理csv文件的读取

    csv的写入

    1通过创建writer对象,主要用到2个方法。一个是writerow,写入一行。另一个是writerows写入多行

    2使用DictWriter 可以使用字典的方式把数据写入进去

    第一种写入方法(通过创建writer对象)

    先来说一下第一种写入的方法:通过创建writer对象写入(每次写入一行)

    步骤:1.创建数据和表头2.创建writer对象3.写表头4.遍历列表,将每一行数据写入csv

    代码如下:

    import csv person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)] # 表头 header = ['name', 'age', 'height'] with open('person.csv', 'w', encoding='utf-8') as file_obj: # 1:创建writer对象 writer = csv.writer(file_obj) # 2:写表头 writer.writerow(header) # 3:遍历列表,将每一行的数据写入csv for p in person: writer.writerow(p)

    写入完就会在当前目录下出现一个person.csv文件,鼠标右键点击show in Explorer打开person.csv查看

    打开以后会发现写入的数据中间会换行

    居然:那么应该怎么解决这个问题呢

    hacker:很简单啊

    只需要在写入数据的时候加上一个参数 newline=‘’为了防止换行写入

    改正后的代码如下:

    import csv # 数据 person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)] # 表头 header = ['name', 'age', 'height'] with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj: # 创建对象 writer = csv.writer(file_obj) # 写表头 writer.writerow(header) # 遍历,将每一行的数据写入csv for p in person: writer.writerow(p)

    通过创建writer对象(一次性写入多行)

    步骤:1.创建数据和表头2.创建writer对象3.写表头4.在writerows里传入你要处理的数据

    import csv # 数据 person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)] # 表头 header = ['name', 'age', 'height'] with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj: # 创建对象 writer = csv.writer(file_obj) # 写表头 writer.writerow(header) # 3.写入数据(一次性写入多行) writer.writerows(person)

    写入结果如下:

    第二种写入方法(使用DictWriter可以使用字典的方式将数据写入)

    注意事项:使用字典的方式写入要注意传递的数据格式必须是字典

    如果不是字典的话会报错

    AttributeError: ‘tuple’ object has no attribute ‘keys’

    步骤1.创建数据和表头( 数据必须是字典格式)2.创建DictWriter对象3.写表头4.写入数据

    import csv # 数据 person = [ {'name': 'xxx', 'age': 18, 'height': 193}, {'name': 'yyy', 'age': 18, 'height': 182}, {'name': 'zzz', 'age': 19, 'height': 185}, ] # 表头 header = ['name', 'age', 'height'] with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj: # 1.创建DicetWriter对象 dictWriter = csv.DictWriter(file_obj, header) # 2.写表头 dictWriter.writeheader() # 3.写入数据(一次性写入多行) dictWriter.writerows(person)

    csv的读取

    通过reader()读取

    import csv with open('person.csv', 'r', encoding='utf-8') as file_obj: # 1.创建reader对象 reader = csv.reader(file_obj) print(reader)

    如果直接打印会返回csv.reader对象,这时需要遍历列表

    <_csv.reader object at 0x000001FB8CE655F8>

    改正代码如下:

    import csv with open('person.csv', 'r', encoding='utf-8') as file_obj: # 1.创建reader对象 reader = csv.reader(file_obj) # 2.遍历进行读取数据 for r in reader: print(r)

    读取结果如下:

    ['name', 'age', 'height']
    ['xxx', '18', '193']
    ['yyy', '18', '182']
    ['zzz', '19', '185']

    如果想打印列表的某一个值,可以使用索引打印

    print(r[0])

    name
    xxx
    yyy
    zzz

    通过dictreader()读取

    import csv with open('person.csv', 'r', encoding='utf-8') as file_obj: # 1.创建reader对象 dictReader = csv.DictReader(file_obj) # 2.遍历进行读取数据 for r in dictReader: print(r)

    返回结果如下:

    OrderedDict([('name', 'xxx'), ('age', '18'), ('height', '193')])
    OrderedDict([('name', 'yyy'), ('age', '18'), ('height', '182')])
    OrderedDict([('name', 'zzz'), ('age', '19'), ('height', '185')])

    如何高效使用Python进行长尾词CSV文件的读写操作?

    这时我们如果要取到某一个值就需要指定键去寻找值

    print(r['name'])

    xxx
    yyy
    zzz

    总结

    到此这篇关于python基础教程之csv文件的写入与读取的文章就介绍到这了,更多相关pythoncsv文件写入与读取内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

    标签:写入

    本文共计1545个文字,预计阅读时间需要7分钟。

    如何高效使用Python进行长尾词CSV文件的读写操作?

    目录+ csv简介+ csv的写入 + 第一种写入方法(通过创建writer对象) + 第二种写入方法(使用DictWriter,可使用字典的形式将数据写入)+ csv的读取 + 通过reader()读取 + 通过dictreader()读取+ 总结+ csv简介csv(逗号分隔值)是一种简单的文件格式,用于存储表格数据。它以逗号分隔每个字段,并且每个记录通常位于单独的一行上。

    + csv的写入 + 第一种写入方法(通过创建writer对象) 使用csv.writer对象可以将数据写入csv文件。首先创建一个writer对象,然后使用writerows()或writerows()方法写入数据。

    + 第二种写入方法(使用DictWriter,可使用字典的形式将数据写入) DictWriter允许使用字典来指定列名和数据,这使得写入数据更加灵活和直观。

    + csv的读取 + 通过reader()读取 使用csv.reader对象可以读取csv文件。它将每行数据作为列表返回。

    + 通过dictreader()读取 DictReader与reader类似,但它将每行数据作为字典返回,其中键是列名。

    + 总结csv是一种简单易用的数据存储格式,适用于简单的数据交换和存储。通过使用csv模块,可以方便地进行数据的读写操作。

    目录
    • csv的简单介绍
    • csv的写入
      • 第一种写入方法(通过创建writer对象)
      • 第二种写入方法(使用DictWriter可以使用字典的方式将数据写入)
    • csv的读取
      • 通过reader()读取
      • 通过dictreader()读取
    • 总结

      csv的简单介绍

      CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件。python自带了csv模块,专门用于处理csv文件的读取

      csv的写入

      1通过创建writer对象,主要用到2个方法。一个是writerow,写入一行。另一个是writerows写入多行

      2使用DictWriter 可以使用字典的方式把数据写入进去

      第一种写入方法(通过创建writer对象)

      先来说一下第一种写入的方法:通过创建writer对象写入(每次写入一行)

      步骤:1.创建数据和表头2.创建writer对象3.写表头4.遍历列表,将每一行数据写入csv

      代码如下:

      import csv person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)] # 表头 header = ['name', 'age', 'height'] with open('person.csv', 'w', encoding='utf-8') as file_obj: # 1:创建writer对象 writer = csv.writer(file_obj) # 2:写表头 writer.writerow(header) # 3:遍历列表,将每一行的数据写入csv for p in person: writer.writerow(p)

      写入完就会在当前目录下出现一个person.csv文件,鼠标右键点击show in Explorer打开person.csv查看

      打开以后会发现写入的数据中间会换行

      居然:那么应该怎么解决这个问题呢

      hacker:很简单啊

      只需要在写入数据的时候加上一个参数 newline=‘’为了防止换行写入

      改正后的代码如下:

      import csv # 数据 person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)] # 表头 header = ['name', 'age', 'height'] with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj: # 创建对象 writer = csv.writer(file_obj) # 写表头 writer.writerow(header) # 遍历,将每一行的数据写入csv for p in person: writer.writerow(p)

      通过创建writer对象(一次性写入多行)

      步骤:1.创建数据和表头2.创建writer对象3.写表头4.在writerows里传入你要处理的数据

      import csv # 数据 person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)] # 表头 header = ['name', 'age', 'height'] with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj: # 创建对象 writer = csv.writer(file_obj) # 写表头 writer.writerow(header) # 3.写入数据(一次性写入多行) writer.writerows(person)

      写入结果如下:

      第二种写入方法(使用DictWriter可以使用字典的方式将数据写入)

      注意事项:使用字典的方式写入要注意传递的数据格式必须是字典

      如果不是字典的话会报错

      AttributeError: ‘tuple’ object has no attribute ‘keys’

      步骤1.创建数据和表头( 数据必须是字典格式)2.创建DictWriter对象3.写表头4.写入数据

      import csv # 数据 person = [ {'name': 'xxx', 'age': 18, 'height': 193}, {'name': 'yyy', 'age': 18, 'height': 182}, {'name': 'zzz', 'age': 19, 'height': 185}, ] # 表头 header = ['name', 'age', 'height'] with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj: # 1.创建DicetWriter对象 dictWriter = csv.DictWriter(file_obj, header) # 2.写表头 dictWriter.writeheader() # 3.写入数据(一次性写入多行) dictWriter.writerows(person)

      csv的读取

      通过reader()读取

      import csv with open('person.csv', 'r', encoding='utf-8') as file_obj: # 1.创建reader对象 reader = csv.reader(file_obj) print(reader)

      如果直接打印会返回csv.reader对象,这时需要遍历列表

      <_csv.reader object at 0x000001FB8CE655F8>

      改正代码如下:

      import csv with open('person.csv', 'r', encoding='utf-8') as file_obj: # 1.创建reader对象 reader = csv.reader(file_obj) # 2.遍历进行读取数据 for r in reader: print(r)

      读取结果如下:

      ['name', 'age', 'height']
      ['xxx', '18', '193']
      ['yyy', '18', '182']
      ['zzz', '19', '185']

      如果想打印列表的某一个值,可以使用索引打印

      print(r[0])

      name
      xxx
      yyy
      zzz

      通过dictreader()读取

      import csv with open('person.csv', 'r', encoding='utf-8') as file_obj: # 1.创建reader对象 dictReader = csv.DictReader(file_obj) # 2.遍历进行读取数据 for r in dictReader: print(r)

      返回结果如下:

      OrderedDict([('name', 'xxx'), ('age', '18'), ('height', '193')])
      OrderedDict([('name', 'yyy'), ('age', '18'), ('height', '182')])
      OrderedDict([('name', 'zzz'), ('age', '19'), ('height', '185')])

      如何高效使用Python进行长尾词CSV文件的读写操作?

      这时我们如果要取到某一个值就需要指定键去寻找值

      print(r['name'])

      xxx
      yyy
      zzz

      总结

      到此这篇关于python基础教程之csv文件的写入与读取的文章就介绍到这了,更多相关pythoncsv文件写入与读取内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

      标签:写入