python - 如何将“段落”变成列表
问题描述
我提前道歉,因为我不知道如何正确地问这个问题。每周,我都会收到有关股票更新的收益报告。他们看起来像这样
Alexandria Real Estate Equities, Inc. (ARE), Beyond Meat, Inc. (BYND), Brown & Brown, Inc. (BRO), Canon Inc. (CAJ),
Chegg, Inc. (CHGG), Cincinnati Financial Co. (CINF), Ecopetrol SA (EC), Hasbro, Inc. (HAS),
HCA Healthcare, Inc. (HCA), HSBC Holdings plc (HSBC), NXP Semiconductors (NXPI), Otis Worldwide (OTIS),
Packaging Co. of America (PKG), Petróleo Brasileiro S.A. - Petrobras (PBR), Principal Financial Group Inc (PFG),
Principal Financial Group, Inc. (PFG), SAP SE (SAP), Twilio Inc (TWLO)
由于此消息是通过电子邮件发送的,我想找到一种方法将其存储在一个.txt
看起来很吸引人的地方。如果可能的话,我想让它看起来像
[1] Alexandria real estate equities, inc. (ARE)
[2] Beyond meat, inc. (BYND)
[3] Brown & brown, inc. (BRO)
[4] Canon inc. (CAJ)
[5] Chegg, inc. (CHGG)
[6] Cincinnati financial co. (CINF)
[7] Ecopetrol sa (EC)
[8] Hasbro, inc. (HAS)
等等。尽管我不断思考并提出不同的选择,但我仍然陷入困境,不知道如何解决这个问题。任何帮助将不胜感激。
解决方案
我们可以看到,每只股票都被 隔开,
。但由于相同的,
字符也用于“, Inc.”。,我们需要用 分隔股票名称),
。
让我们使用 Python 的内置split()
函数拆分文本。我们从文本中得到一个字符串列表。像这样:
text = "Alexandria Real Estate Equities, Inc. (ARE), Beyond Meat, Inc. (BYND), Brown & Brown, Inc. (BRO), Canon Inc. (CAJ), Chegg, Inc. (CHGG), Cincinnati Financial Co. (CINF), Ecopetrol SA (EC), Hasbro, Inc. (HAS), HCA Healthcare, Inc. (HCA), HSBC Holdings plc (HSBC), NXP Semiconductors (NXPI), Otis Worldwide (OTIS), Packaging Co. of America (PKG), Petróleo Brasileiro S.A. - Petrobras (PBR), Principal Financial Group Inc (PFG), Principal Financial Group, Inc. (PFG), SAP SE (SAP), Twilio Inc (TWLO)"
split_text = text.split("), ")
输出:
['Alexandria Real Estate Equities, Inc. (ARE', 'Beyond Meat, Inc. (BYND', 'Brown & Brown, Inc. (BRO', 'Canon Inc. (CAJ', 'Chegg, Inc. (CHGG', 'Cincinnati Financial Co. (CINF', 'Ecopetrol SA (EC', 'Hasbro, Inc. (HAS', 'HCA Healthcare, Inc. (HCA', 'HSBC Holdings plc (HSBC', 'NXP Semiconductors (NXPI', 'Otis Worldwide (OTIS', 'Packaging Co. of America (PKG', 'Petróleo Brasileiro S.A. - Petrobras (PBR', 'Principal Financial Group Inc (PFG', 'Principal Financial Group, Inc. (PFG', 'SAP SE (SAP', 'Twilio Inc (TWLO)']
让我们在最后附加丢失的)
字符。
要获取每只股票的指数,请enumerate()
在循环中使用该函数。
最终代码:
split_text = text.split("), ")
for idx, stock_name in enumerate(split_text):
print(f"[{idx+1}] {stock_name})")
输出:
[1] Alexandria Real Estate Equities, Inc. (ARE)
[2] Beyond Meat, Inc. (BYND)
[3] Brown & Brown, Inc. (BRO)
[4] Canon Inc. (CAJ)
[5] Chegg, Inc. (CHGG)
[6] Cincinnati Financial Co. (CINF)
[7] Ecopetrol SA (EC)
[8] Hasbro, Inc. (HAS)
[9] HCA Healthcare, Inc. (HCA)
[10] HSBC Holdings plc (HSBC)
[11] NXP Semiconductors (NXPI)
[12] Otis Worldwide (OTIS)
[13] Packaging Co. of America (PKG)
[14] Petróleo Brasileiro S.A. - Petrobras (PBR)
[15] Principal Financial Group Inc (PFG)
[16] Principal Financial Group, Inc. (PFG)
[17] SAP SE (SAP)
[18] Twilio Inc (TWLO)
推荐阅读
- raptor - raptor 数据验证,因此可以计算一个数字但不接受浮点数?
- python - Asyncio:为每个子线程创建一个事件循环
- html - 在缩放图像上使用绝对定位的 CSS 会导致图像的进一步缩放
- c++ - 如何更新 WinAPI ListView 中特定项目的特定子项目?
- flutter - 使用 Riverpod 进行状态管理
- bash - grep 所有至少包含 X 个单词的行
- ruby - 将参数传递给 Ruby 方法
- macos - 如何在 mac 上的 odoo 14 中配置自定义插件路径?
- r - 在 R 中有一列具有 205550 个值,并且想要 10 列,其中值 1 进入第 1 列,值 2 进入第 2 列等
- python - 如何在 django 中创建一个传入多个对象的字典的自定义模板标签