簡體   English   中英

如何將字典鍵和相應的值寫入文件的每一行

[英]How to write dictionary keys and corresponding values to each line to a file

State_Dict = {"Texas": ["San Antonio, Austin, Houston"] ,
    "California": ["San Diego, Los Angeles, San Francisco"],
    "Florida": ["Miami", "Orlando", "Jacksonville"]}

with open("state.txt", "w") as state:
    for key, value in State_Dict:
        state.write(key, value)

目標:我需要以以下格式將鍵和值寫入文本文件:

Texas
San Antonio
Austin
Houston
California
San Diego
Los Angeles
San Francisco
Florida
Miami
Orlando
Jacksonville

到目前為止,我收到以下錯誤:

Traceback (most recent call last):
  File "snip/testBed_2.py", line 7, in <module>
    for key, value in State_Dict:
ValueError: too many values to unpack (expected 2)

Process finished with exit code 1

我該如何工作?

您可以使用第二個循環遍歷您的值,如下所示。 由於您的值是一個包含單個元素的列表,因此您可以使用[0]索引來獲取城市名稱,然后使用, (逗號)作為分隔符將其分割。

您的某些列表將所有城市都作為一個字符串,而某些列表則具有單獨的城市名稱。 因此,您可以使用if語句進行檢查。 v.strip()從名稱中刪除空格。

with open("state.txt", "w") as state:
    for key, value in State_Dict.items():
        state.write(key + '\n')
        if len(value) == 1:
            for v in value[0].split(','):
                state.write(v.strip() + '\n')
        else:
            for v in value:
                state.write(v.strip() + '\n')

產量

Texas
San Antonio
Austin
Houston
California
San Diego
Los Angeles
San Francisco
Florida
Miami
Orlando
Jacksonville

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM