【发布时间】:2019-03-31 05:19:14
【问题描述】:
我有一个需要拆分的文本文件。通常,我可以使用 line.split() 用空格分隔行的各个部分。但是,在这种情况下,我需要的部分字符串包含一个空格,拆分时需要忽略...
文本文件如下所示:
1 卡塔尔 98,900 美元
2 美元 95,000 美元
3 卢森堡 $80,600
4 百慕大 $69,900
5 新加坡 $59,700
6 泽西 $57,000
7 福克兰群岛(马尔维纳斯群岛)$ 55,400
我需要将每个国家视为一个“部分”。但是当然,当我使用 line.split() 分隔符时,python 想要在每个空间进行拆分。
如何将包含多个词的国家/地区名称(例如“美国”和“福克兰群岛(马尔维纳斯群岛)”放在一起作为一部分?
我已经尝试过简单的 line.split() 方法。我还寻找方法去除行首的数字(使用 .lstrip 或其他东西),然后用“$”符号分割行(我还需要收集美元值作为另一部分)但是在这方面没有运气。
for line in file:
part = line.split()
希望能够使用 'part' 变量来收集国家名称及其与 'part[1]' 和 'part[3]' 对应的值,并将它们作为对应的键输入到字典中-价值对。所以最终的输出看起来像这样:
dict = {'Qatar': '98,900', 'United States': '95,000',... '福克兰群岛(马尔维纳斯群岛)': '55,400'}
【问题讨论】:
-
你的文字总是这样吗?索引、名称、货币、金额?
-
考虑正则表达式,否则你将很难过!
-
有没有更多空格的值?
-
美元符号之前的所有内容都将是键,而后面的所有内容都是值,这是否正确?
-
1.使用 line.split(" ", 1) 按第一个空格拆分 2. 通过子字符串“$”拆分生成的第二部分。这应该返回 ['United States', '95000'] 可以转换为字典
标签: python