Python 将数据行重新排列为多列
所以我有超过一百万条记录的csv文件:() 我需要对数据进行不同的安排,使重复的“参数”本身成为列/行,例如category1、category2、category3(有20多个类别,没有重复),但所有数据都保持它们的关系 我曾尝试在python中使用“pandas”和“csv”,但我对它完全陌生,我从来没有使用过这样的数据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
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+记录中不同的一列?是的,这就是我需要的