python处理csv文件

有一部分csv文件里的列,不是完整的100%,只有分组求和之后才会变成100%,

img


使用代码进行合成并写入新文件之后

img

img


只剩下分组列和求和列了,请问一下怎么把所有的列都保存写入

data = {'唯一标识': ['A', 'B', 'C', 'A', 'B'],
        '完整度': [1, 2, 3, 4, 5],
        '基站': [10, 20, 30, 40, 50],
        '小区标识': [100, 200, 300, 400, 500],
        ...}
df = pd.DataFrame(data)

result = df.groupby('唯一标识').agg({'完整度': 'sum', '基站': 'first', '小区标识': 'first', ... }).reset_index()

print(result)

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答由chatgpt基于相关博客总结生成:

    使用Python处理CSV文件并保存所有列的数据可以通过以下步骤实现:

    1. 导入csv模块,以便操作CSV文件。
    import csv
    
    1. 打开原始的CSV文件和目标CSV文件。
    with open('input.csv', 'r') as input_file, open('output.csv', 'w', newline='') as output_file:
        # 这里假设原始CSV文件名为input.csv,目标CSV文件名为output.csv
    
    1. 创建csv.readercsv.writer对象,分别用于读取和写入CSV文件。
        csv_reader = csv.reader(input_file)
        csv_writer = csv.writer(output_file)
    
    1. 使用next函数读取并保存原始CSV文件的表头(即列名)。
        header = next(csv_reader)
    
    1. 将保存的表头写入目标CSV文件。
        csv_writer.writerow(header)
    
    1. 创建一个空的列表用于保存每列的数据。
        columns = [[] for _ in range(len(header))]
    
    1. 遍历原始CSV文件的每一行,将每列的数据添加到对应的列表中。
        for row in csv_reader:
            for i in range(len(row)):
                columns[i].append(row[i])
    
    1. 对于缺失数据的列,可以通过使用None或其他占位符来填充,确保每个列表的长度一致。
        max_length = max(len(column) for column in columns)
        for i in range(len(columns)):
            while len(columns[i]) < max_length:
                columns[i].append(None)
    
    1. 将合并的数据写入目标CSV文件。
        for i in range(max_length):
            csv_writer.writerow([column[i] for column in columns])
    
    1. 关闭文件。
    input_file.close()
    output_file.close()
    

    以上是使用Python处理CSV文件并保存所有列的数据的具体解决方案,尽量展示了每一步的代码实现。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^