首页 > 解决方案 > 打开文件读取行打破字符串并以不同的顺序写入文件 PYTHON

问题描述

我在文件中有一个列表,如下所示:

Adair, KY
Jackson, MS
Chicago, IL
ALASKA

我需要拆分字符串并将它们重新写入一个新文件,如下所示:

KY:Adair
MS:Jackson
IL:Chicago

只省略州名。

这就是我到目前为止所拥有的:

county_file = open("c:\\Python 3.8.3\\us-counties.2.txt", "r")
lines = county_file.readlines()
state_file = open("c:\\Python 3.8.3\\Ronnie.Vincent.County.Seats.manipulated.txt", "w")

for aline in lines:
    values = aline.split()
    print(values[1],':', values[0])
      
state_file.close()    
county_file.close()

我不断收到“列表索引超出范围”错误,因为仅州名称没有值 [1]。我不知道如何只留下国家名称。任何帮助将不胜感激,我被困住了。

标签: pythonstringsplit

解决方案


如果您想完全省略 State 行,最简单的解决方案是:

for aline in lines:
  try: 
    values = aline.split() 
    print(values[1],':', values[0])
  except IndexError:
    print('skipping line', aline)

推荐阅读