当前位置:   article > 正文

python对csv文件的操作_python打印csv命令

python打印csv命令

一.pandas模块

读取csv文件:

1. 读取csv基本信息, 打印行列信息和量纲信息

  1. """
  2. 1. 读取csv基本信息, 打印行列信息和量纲信息
  3. """
  4. import pandas as pd
  5. # 以逗号为分隔符, 指定第一行为表头
  6. df = pd.read_csv('高校信息.csv')
  7. # 打印行列信息
  8. print(df.info())
  9. # 打印数字类型的量纲统计信息
  10. print(df.describe())

2. 读取 csv 数据信息, 返回 DataFrame 类型数据, 缩略式的展示

  1. """
  2. 2. 读取 csv 数据信息, 返回 DataFrame 类型数据, 缩略式的展示
  3. """
  4. import pandas as pd
  5. # 以逗号为分隔符, 不指定表头, 则以数字作为表头打印
  6. df = pd.read_csv('高校信息.csv', sep=',', header=None)
  7. print(df)

3. 读取 csv 数据信息, 显示所有行列

  1. """
  2. 3. 读取 csv 数据信息, 显示所有行列
  3. """
  4. import pandas as pd
  5. # 以逗号为分隔符, 指定第一行为表头
  6. df = pd.read_csv('高校信息.csv', sep=',', header=0)
  7. print(type(df.to_string()))

4. 读取前几行数据

  1. """
  2. 4. 读取前几行数据
  3. """
  4. import pandas as pd
  5. # 以逗号为分隔符, 指定第一行为表头
  6. df = pd.read_csv('高校信息.csv', sep=',', header=0)
  7. # 读取前10行数据
  8. print(df.head(10).to_string())

5. 读取末尾几行数据

  1. """
  2. 5. 读取末尾几行数据
  3. """
  4. import pandas as pd
  5. # 以逗号为分隔符, 指定第一行为表头
  6. df = pd.read_csv('高校信息.csv', sep=',', header=0)
  7. # 读取前10行数据, 不填则默认为5行
  8. print(df.tail(10).to_string())

6. 以指定列为列标签

  1. """
  2. 6. 以指定列为列标签
  3. """
  4. import pandas as pd
  5. # 以逗号为分隔符, 指定第一行为表头, 指定 院校名称为 列标签
  6. df = pd.read_csv('高校信息.csv', sep=',', header=0, index_col='院校名称')
  7. # 读取前10行数据
  8. print(df.head(5))
  9. # 以逗号为分隔符, 指定第一行为表头, 指定 院校名称和院校类型 为列标签
  10. df = pd.read_csv('高校信息.csv', sep=',', header=0, index_col=['院校名称', '院校类型'])
  11. # 读取前10行数据
  12. print(df.head(5))

7. 读取 csv 数据信息, 并指定类型, 防止出现将整形数字转为浮点型

  1. """
  2. 7. 读取 csv 数据信息, 并指定类型, 可以防止出现将整形数字转为浮点型
  3. """
  4. import pandas as pd
  5. # 以指定列代替索引, 这样就可以不打印前面的索引数字了, 但是这时必须指定表头
  6. df = pd.read_csv('高校信息.csv', sep=',', header=0, index_col='序号', dtype=object)
  7. print(df.head(10))

8. 读取 csv 数据信息, 并遍历数据

  1. """
  2. 8. 读取 csv 数据信息, 并遍历数据
  3. """
  4. import pandas as pd
  5. # 以逗号为分隔符, 不指定表头, 则实际表头参与遍历, 指定后, 则不参与遍历
  6. # 这样打印会打印前面的索引, 对于没有id的csv表格, 这个很好用
  7. df = pd.read_csv('高校信息.csv', sep=',', header=None)
  8. for i in df.itertuples():
  9. print(list(i))

9. 读取 csv 数据信息, 并遍历数据, 不打印索引

  1. """
  2. 9. 读取 csv 数据信息, 并遍历数据, 不打印索引
  3. """
  4. import pandas as pd
  5. # 以指定列代替索引, 这样就可以不打印前面的索引数字了, 但是这时必须指定表头
  6. df = pd.read_csv('高校信息.csv', sep=',', header=0, index_col='序号')
  7. for i in df.itertuples():
  8. print(list(i))

10. 读取 csv 数据信息, 将指定列转为list

  1. """
  2. 10. 读取 csv 数据信息, 将指定列转为list
  3. """
  4. import pandas as pd
  5. import numpy as np
  6. # 以逗号为分隔符, 不指定表头, 则以数字作为表头打印
  7. df = pd.read_csv('高校信息.csv', sep=',', header=0)
  8. # print(np.array(df["院校名称"]).tolist())
  9. print(np.array(df[["院校名称", "办学类型"]]).tolist())

11. 读取 csv 数据信息, 打印指定列

  1. """
  2. 11. 读取 csv 数据信息, 打印指定列
  3. """
  4. import pandas as pd
  5. # usecols 可以读取指定列, 但是如果指定了某一字段为列索引, 该列必须出现在 usecols 中
  6. df = pd.read_csv('高校信息.csv', sep=',', header=0, index_col='序号', usecols=[0, 1])
  7. for i in df.itertuples():
  8. print(list(i))

12. 读取 csv 数据信息, 对指定列做统计

  1. """
  2. 12. 读取 csv 数据信息, 对指定列做统计
  3. """
  4. import pandas as pd
  5. import numpy as np
  6. # 以逗号为分隔符, 不指定表头, 则以数字作为表头打印
  7. df = pd.read_csv('高校信息.csv', sep=',', header=0)
  8. print(df.info())
  9. # print(np.array(df["院校名称"]).tolist())
  10. print(np.array(df[["院校名称", "办学类型"]]).tolist())

写入csv文件:

1. 写入 csv 数据信息, 覆盖老数据

  1. """
  2. 1. 写入 csv 数据信息, 覆盖老数据
  3. """
  4. import pandas as pd
  5. df = pd.read_csv('高校信息.csv', sep=',', header=0, dtype=object)
  6. header = df.head(10)
  7. # index = None 参数为去掉列索引
  8. header.to_csv('test.csv', index=None)

2. 写入 csv 数据信息, 追加形式写数据

  1. """
  2. 2. 写入 csv 数据信息, 追加形式写数据
  3. """
  4. import pandas as pd
  5. df = pd.read_csv('高校信息.csv', sep=',', header=0, dtype=object)
  6. header = df.head(10)
  7. # mode = "a" 以追加的形式写数据
  8. header.to_csv('test.csv', index=None, mode='a')

3. 将 list 数据写入 csv, 每个list为每个列数据

  1. """
  2. 3. 将 list 数据写入 csv, 每个list为每个列数据
  3. {
  4. "name": ["小红","小王","小张","小李"],
  5. "sex": ["女","男","男","女"],
  6. "age": [18,16,17,20]
  7. }
  8. """
  9. from pandas.core.frame import DataFrame
  10. name = ["小红", "小王", "小张", "小李"]
  11. sex = ["女", "男", "男", "女"]
  12. age = [18, 16, 17, 20]
  13. student = {"name": name, "sex": sex, "age": age}
  14. # 将 json 转为 pandas 中的 DataFrame 类型
  15. data = DataFrame(student)
  16. data.to_csv('test.csv', index=None)

4. 将 list 写入 csv, 每个list的个数, 可以不相等

  1. """
  2. 4. 将 list 数据写入 csv, 每个list为每行数据, 每个list的个数, 可以不相等
  3. """
  4. from pandas.core.frame import DataFrame
  5. student = [["姓名", "性别", "年龄"],
  6. ["小红", "女", 18],
  7. ["小王", "男", 16],
  8. ["小张", "男", 17],
  9. ["小李", "女"]]
  10. # 将 list 转为 pandas 中的 DataFrame 类型
  11. data = DataFrame(student)
  12. # index=None, header=None 表示不要列与行索引
  13. data.to_csv('test.csv', index=None, header=None)
  14. # index=None, header=0 表示指定第一行为表头
  15. data.to_csv('test.csv', index=None, header=0)

二.csv模块

1.按行读取csv

  1. """
  2. 按行读取csv
  3. """
  4. import csv
  5. # 当出现比较大的字段时
  6. csv.field_size_limit(500 * 1024 * 1024)
  7. csv_file = open("高校信息.csv", encoding='utf-8')
  8. csv_reader_lines = csv.reader(csv_file)
  9. for i in csv_reader_lines:
  10. print(i)

2.按行写入csv

  1. import csv
  2. file_object = open("test.csv", 'w', newline='')
  3. writer = csv.writer(file_object)
  4. data_list = [["a", "b", "c"], ["d", "e", "f", "g"], ["h", "i", "j", "k", "l"]]
  5. for row in data_list:
  6. writer.writerow(row)
  7. file_object.close()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/212537
推荐阅读
相关标签
  

闽ICP备14008679号