如何解决迭代列表比较类似的项目并从 csv Python 添加值
我已经从语句 csv 中导入了数据并想对其进行清理。我喜欢将购买简化为类别并添加值,以便将这些值导出到另一个 csv。
所以一个简单的例子是我有两个描述,一个叫做 Esso,一个叫做 BP,在 f 列中的借方分别为 10 英镑和 15 英镑。我希望将其浓缩为燃料:25 英镑。所以我拉了两列并创建了一个字典来将成本和项目放在一起。我现在卡住了..我应该只迭代更改类别的键并再次获得成本,还是应该在创建字典之前完成?任何指导将不胜感激
Item=pd.read_csv("statement.csv",usecols=['Transaction Description'])
cost=pd.read_csv("statement.csv",usecols=['Debit Amount'])
print(Cost)
# Empty dictionary
purchases = {}
# Convert to dictionary
for key in Item:
for value in cost:
purchases[key] = value
cost.remove(value)
break
print("Dictionary from lists :\n ",purchases)
解决方法
如果我很好地理解你的问题,你想创建一个这样的字典:
{'Esso': '£10','BP': '£15','Total': '£26'}
即,合并列中的数据,不包含列名。因此,您需要将列作为系列而不是数据框。有几种方法可以读取数据。例如,使用 squeeze
将 CSV 文件中的列作为系列读取:
item = pd.read_csv("statement.csv",usecols=['Transaction Description'],squeeze=True)
cost = pd.read_csv("statement.csv",usecols=['Debit Amount'],squeeze=True)
或者将整个 CSV 文件读入一个数据框,然后分配您需要的数据:
df = pd.read_csv("statement.csv")
item = df['Transaction Description']
cost = df['Debit Amount']
现在您可以使用 zip()
函数同时遍历这两个系列以获得我的答案开头所示的字典:
purchases = {}
for key,value in zip(item,cost):
purchases[key] = value
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。