【问题标题】:Printing parts of a dictionary by using a for loop Pandas Python使用 for 循环 Pandas Python 打印字典的一部分
【发布时间】:2021-08-04 19:20:27
【问题描述】:

我正在尝试读取Accounts.csv,然后我尝试对其进行格式化,以便读取的csv 是下面dictionary 的格式。我怎么能做到这一点?

Accounts.csv 文件:

AccountName, APIkey, APIsecret
Account1,sdhsdhjsd,sadjkaskldjaskdadasdfvg
Account2,sdasdasdadc,sdasdasdassvsdvdsfdfsaf

代码:

import pandas as pd

data =pd.read_csv('Accounts.csv').to_dict('dict')
for clients_info in Accounts.values():
     print("Accountname:", clients_info['AccountName'], "APIkey:", clients_info['APIKey'], "APIsecret:", clients_info['APIsecret'])

预期输出:

Accountname: Acount1 APIkey: sdhsdhjsd APIsecret: sadjkaskldjaskdadasdfvg
Accountname: Acount2 APIkey: sdasdasdadc APIsecret: sdasdasdassvsdvdsfdfsaf

实际输出:

TypeError: tuple indices must be integers or slices, not str

【问题讨论】:

    标签: python-3.x pandas dictionary for-loop formatting


    【解决方案1】:

    我认为df.to_dict 是你所追求的。

    你可以指定你需要的方向,在这种情况下让我们试试records

    dataframe_dict = df.to_dict(orient='records')
    
    [{'AccountName': 'Account1',
      ' APIkey': 'sdhsdhjsd',
      ' APIsecret': 'sadjkaskldjaskdadasdfvg'},
     {'AccountName': 'Account2',
      ' APIkey': 'sdasdasdadc',
      ' APIsecret': 'sdasdasdassvsdvdsfdfsaf'}]
    

    for item in dataframe_dict:
        print(item)
    
    {'AccountName': 'Account1', ' APIkey': 'sdhsdhjsd', ' APIsecret': 'sadjkaskldjaskdadasdfvg'}
    {'AccountName': 'Account2', ' APIkey': 'sdasdasdadc', ' APIsecret': 'sdasdasdassvsdvdsfdfsaf'}
    

    或使用AccountName 作为您的字典键。

    dataframe_dict = df.set_index('AccountName').to_dict(orient='index')
    
    dataframe_dict['Account2']['APIkey']
    
    'sdasdasdadc'
    
    
    dataframe_dict['Account2']['APIsecret']
    
    'sdasdasdassvsdvdsfdfsaf'
    

    【讨论】:

    • 我想要更多访问AccountNameAPIkey 等。像 dataframe_dict['Accountname']
    • @tonyselcuk 你需要使用unique key 来创建你的字典,这样你就有一个字典对象。这些帐户是唯一的吗?
    • 所以我想要的是它会使用 for 循环迭代字典的所有值并获取 AccountName, APIkey, APIsecret 的相关值。就像我的打印语句的格式一样。很抱歉造成混乱。
    猜你喜欢
    • 2021-08-04
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    相关资源
    最近更新 更多