如何将CSV文件转换为python字典

赵政石

如果下面有CSV(info.csv)文件:

180101,S1,-1

180101,S2、15

180102,S4,-5

180103,S1,-5

...

这些列分别表示“日期”,“代码”和“ info1”。

我想转换与原始数据匹配的新代码(csv文件,newcode.scv)。

例如新的代码映射如下:

N1 180101

N2 180102

W1,180103

...

将其视为一对一关系,不可重复。

因此,新数据如下:

180101,N1,-1

180101,N2、15

180102,N2,-5

180103,W1,-5

有九种花哨的转换方式吗?

pp

一种方法是使用pandas,它专门用于向量化计算。csv方法可能会基于循环且效率低下。

import pandas as pd

df = pd.read_csv('info_in.csv', sep=', ', engine='python',
                 header=None, names=['date', 'code', 'info1'])

#      date code  info1
# 0  180101   S1     -1
# 1  180101   S2     15
# 2  180102   S4     -5
# 3  180103   S1     -5

d = {'S1': 'N1', 'S2': 'N2', 'S4': 'W1'}
df['code'] = df['code'].map(d)
df.to_csv('info_out.csv', index=False)

#      date code  info1
# 0  180101   N1     -1
# 1  180101   N2     15
# 2  180102   W1     -5
# 3  180103   N1     -5

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章