Python 将数据行重新排列为多列

Python 将数据行重新排列为多列,python,python-3.x,csv,Python,Python 3.x,Csv,所以我有超过一百万条记录的csv文件:() 我需要对数据进行不同的安排,使重复的“参数”本身成为列/行,例如category1、category2、category3(有20多个类别,没有重复),但所有数据都保持它们的关系 我曾尝试在python中使用“pandas”和“csv”,但我对它完全陌生,我从来没有使用过这样的数据 import csv with open('./data.csv', 'r') as _filehandler: csv_file_reader = csv.re

所以我有超过一百万条记录的csv文件:() 我需要对数据进行不同的安排,使重复的“参数”本身成为列/行,例如category1、category2、category3(有20多个类别,没有重复),但所有数据都保持它们的关系

我曾尝试在python中使用“pandas”和“csv”,但我对它完全陌生,我从来没有使用过这样的数据

import csv

with open('./data.csv', 'r') as _filehandler:
    csv_file_reader = csv.reader(_filehandler)

    param = [];

    csv_file_reader = csv.DictReader(_filehandler)
    for row in csv_file_reader:
        if not row['Param'] in param:
            param.append(row['Param']);

    col = "";

    for p in param:
        col += str(p) + '; ';

    print(col);
    import numpy as np

    np.savetxt('./SortedWexdord.csv', (parameters), delimiter=';', fmt='%s')

我想了想,但数据不是我的强项,有什么想法吗?

这里有一些应该有用的东西。如果像这样规范化的每行需要一个以上的值,可以编辑第9行(开始于
类别
),以获取值列表,而不仅仅是
行[1]

import csv

data = {}

with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    next(reader) # Skip header row
    for row in reader:
        category, value = row[0], row[1] # Assumes category is in column 0 and target value is in column 1
        if category in data:
            data[category].append(value)
        else:
            data[category] = [value] # New entry only for each unique category

with open('output.csv', 'wb') as file: # wb is write and binary, avoids double newlines on windows
    writer = csv.writer(file)
    writer.writerow(['Category', 'Value'])
    for category in data:
        print([category] + data[category])
        writer.writerow([category] + data[category]) # Make a list starting with category and then listing each value

我不知道你在这里想做什么,你能发布一个输入和输出的例子吗?我想在“param”行中按类别分组数据,例如,将整个类别1放在一起-这里有与图像的链接,这是你希望它如何工作的?你最终得到的行数和你的类别数一样多,而每一列都是你1m+记录中不同的一列?是的,这就是我需要的