python - Python Array To Csv,按字段值对 CSV 文件中的数据进行分组并保存 csv
问题描述
我有一个 csv 文件
col1 col2
a 1
a 2
a 3
b 3
b 6
b 1
我用这个代码
import csv
result = {}
with open('data.csv', 'rb') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in csvreader:
if row[0] in result:
result[row[0]].append(row[1])
else:
result[row[0]] = [row[1]]
print result
output
result:{
'a': ['1', '2', '3'],
'b': ['3', '6', '1']
}
现在我想将此结果保存到 csv 文件(我想使用此方法) result.csv
ab
1 3
2 6
3 1
解决了
df_zor = pd.read_csv('5_gecici_.csv', encoding = "windows-1250", sep=';')
df = df_zor.groupby("gorevli").agg(lambda x: x.unique().tolist()).T
df.apply(lambda x: np.pad(x.iloc[0], (0, df.apply(lambda x: len(x.iloc[0]), axis=0).max() - len(x.iloc[0])), 'constant', constant_values=np.nan), axis=0)[df_zor.gorevli.unique()].to_excel('5_gorevli_bazinda_incelemede_dosya_listesi.xlsx', index=False)
解决方案
您可以使用以下代码:
to_csv = []
#to get 'a' and 'b' in first row
to_csv.append(list(result.keys()))
# To get 'a' and 'b' values
for a,b in zip(*list(result.values())):
to_csv.append([a,b])
# Writing result.csv
with open('result.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(to_csv)
中的数据result.csv
是:
a,b
1,3
2,6
3,1
推荐阅读
- python - 如何在烧瓶中的 python 函数中获取 html 锚标记 id 属性
- csv - 如何使用 Lauterbach CMM 脚本逐行读取/写入 CSV 文件
- python - matplot在条形图中显示的阿拉伯X轴值字母未连接
- html - 拖动/排序图像
- python - odoo-12 : 如何解决 write() 方法问题
- intellij-idea - 我们可以在 IntelliJ 中对 YAML 文件进行变量替换吗?
- c# - 使用带有信头的 iTextSharp 在 Xamarin.Android 中创建 pdf
- android-studio - 通过 MoPub 进行 Facebook Audience Network 中介(横幅和插页式广告)
- android - adjustResize 不适用于片段布局内的 EditText 视图
- unix - How can i reverse sort a letter by occurrence but if it has the amount of occurrences sort it alphabetically?