数据开发_Python读取CSV文件_csv库

1.文件处理

使用os模块
Python3的系统标准库pathlib模块的 Path 对路径的操作会更简单
  在pathlib里一切都是面向对象的,只需要调用指定的方法就可以了

2.时间格式处理和进制

  二进制 八进制 十进制 十六进制

3.csv文件的读取

代码示例

#!/usr/bin/env python
# -*-coding:utf-8-*-
# @file csv_input.py


from pathlib import Path
import csv
import datetime


if __name__ == "__main__":
    input_file = r'F:\PythonProject\Python\data\input\TestData.txt'
    # 文件验证工作
    p = Path(input_file)
    print("存在", p.exists(), "是文件", p.is_file())
    # print(p.owner(), p.group())   Path.owner() is unsupported on this system
    stat_info = p.stat()
    print(stat_info)
    # bin() 二进制0b、八进制0o和十六进制0x
    print(' Size:', stat_info.st_size)
    print(' Permissions:', hex(stat_info.st_mode))
    print(' Owner:', oct(stat_info.st_uid))
    print(' Device:', bin(stat_info.st_dev))
    print("时间戳到时间 通常该数值会被限制在 1970 至 2038 年之间")
    base_f = datetime.datetime.utcfromtimestamp(stat_info.st_ctime)
    print(type(base_f))
    # strptime(date_string, format) 将string 变为格式format 的 datetime
    # strftime # Formatting a datetime 返回的是string
    print(base_f.strftime("%A, %d. %B %Y %I:%M%p"))
    print(base_f.strftime("%Y/%m/%d %H:%M:%S"))
    print('  Create:', datetime.datetime.fromtimestamp(stat_info.st_ctime))
    print('  Last Modified Time:', datetime.datetime.fromtimestamp(stat_info.st_mtime))
    print('  Last Accessed Time:', datetime.datetime.fromtimestamp(stat_info.st_atime))
    # 文件读取操作
    with open(input_file, mode='r', encoding='utf-8') as f:
        f_csv = csv.reader(f,  delimiter='\t')
        headers = next(f_csv)
        print(headers)
        # csv产生的数据都是字符串类型的,它不会做任何其他类型的转换
        # 数据类型转换 数据共有4列
        col_types = [str, float, int, str]
        for row in f_csv:
            # 数据类型转换 本语句涉及 for in 的循环 zip函数的使用 ,生成器 以及tuple() 将生成器转换为元组
            # [表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] ]
            # 圆括号-生成器表达式 ()
            # tuple()  元组 其中生成器对象传入到list、set、dict等函数中作为构造参数
            row = tuple(data_convert_type(data_value) for data_convert_type, data_value in zip(col_types, row))
            print(row)

参考 :

 Python之pathlib模块的使用 https://www.cnblogs.com/ygbh/articles/12762285.html
 datetime --- 基本的日期和时间类型 https://docs.python.org/zh-cn/3/library/datetime.html
上一篇:greemplum pg_stat_activity视图


下一篇:ls命令的python不完全实现