当前位置 博文首页 > 如何运用python读写CSV文件

    如何运用python读写CSV文件

    作者:TryTestwonderful 时间:2021-09-17 18:35

    目录
    • 1、使用基础Python代码来读写和处理CSV文件
    • 2、使用pandas读写和处理CSV文件
    • 3、使用内置csv读写和处理CSV文件

    1、使用基础Python代码来读写和处理CSV文件

    import sys
    #使用基础Python代码来读写和处理CSV文件
    input_file = sys.argv[1]
    output_file = sys.argv[2]
    with open(input_file, 'r', newline='') as filereader:
        with open(output_file, 'w', newline='') as filewriter:
            header = filereader.readline()
            header = header.strip()
            header_list = header.split(',')
            print(header_list)
            #map 函数将 str 函数应用于 header_list 中的每个元素,
            #确保每个元素都是字符串。然后,
            #join 函数在 header_list 中的每个值之 间插入一个逗号,将这个列表转换为一个字符串
            filewriter.write(','.join(map(str,header_list))+'\n')
            for row in filereader:
                row = row.strip()
                row_list = row.split(',')
                print(row_list)
                filewriter.write(','.join(map(str,row_list))+'\n')
    
    
    

    说明:map 函数将 str 函数应用于 header_list 中的每个元素,确保每个元素都是字符串。然后,
    join 函数在 header_list 中的每个值之 间插入一个逗号,将这个列表转换为一个字符串。

    执行:

    2、使用pandas读写和处理CSV文件

    #使用pandas读写和处理CSV文件
    import pandas as pd
    input_file = sys.argv[1]
    output_file = sys.argv[2]
    #data_frame:数据框也是存储数据的一种方式。
    #数据框中保留了“表格”这种数据组织方式,不需要使用列表套列表的方式来分析数据
    data_frame = pd.read_csv(input_file)
    print(data_frame)
    data_frame.to_csv(output_file, index=False)
    

    说明:data_frame:数据框也是存储数据的一种方式。数据框中保留了“表格”这种数据组织方式,不需要使用列表套列表的方式来分析数据。

    执行:

    3、使用内置csv读写和处理CSV文件

    #使用内置csv读写和处理CSV文件,用于正确 处理数据值中的嵌入逗号和其他复杂模式的
    import csv
    import sys
    input_file = sys.argv[1]
    output_file = sys.argv[2]
    with open(input_file, 'r', newline='') as csv_in_file:
        with open(output_file, 'w', newline='') as csv_out_file:
            #创建文件读对象
            #第二个参数(就是 delimiter=',') 是默认分隔符,
            #所以如果你的输入文件和输出文件都是用逗号分隔的,就不需要指定这个 参数
            filereader = csv.reader(csv_in_file, delimiter=',')
            #创建文件写对象
            filewriter = csv.writer(csv_out_file, delimiter=',')
            for row_list in filereader:
                print(row_list)
                filewriter.writerow(row_list)
    

    说明:第二个参数(就是 delimiter=',') 是默认分隔符,所以如果你的输入文件和输出文件都是用逗号分隔的,就不需要指定这个参数。

    执行:

    jsjbwy
    下一篇:没有了