python - 来自具有特定结构的字符串的字典
问题描述
我正在使用 python 3 读取此文件并将其转换为字典。
我有一个文件中的这个字符串,我想知道如何从它创建一个字典。
[User]
Date=10/26/2003
Time=09:01:01 AM
User=teodor
UserText=Max Cor
UserTextUnicode=392039n9dj90j32
[System]
Type=Absolute
Dnumber=QS236
Software=1.1.1.2
BuildNr=0923875
Source=LAM
Column=OWKD
[Build]
StageX=12345
Spotter=2
ApertureX=0.0098743
ApertureY=0.2431899
ShiftXYZ=-4.234809e-002
[Text]
Text=Here is the Text files
DataBaseNumber=The database number is 918723
.....(每个文件有1000多行)......
在我拥有的文本上"Name=Something"
,然后我想将其转换如下:
{'Date':'10/26/2003',
'Time':'09:01:01 AM'
'User':'teodor'
'UserText':'Max Cor'
'UserTextUnicode':'392039n9dj90j32'.......}
之间的词[ ]
可以去掉,比如[User], [System], [Build], [Text], etc...
在某些字段中,只有字符串的第一部分:
[Colors]
Red=
Blue=
Yellow=
DarkBlue=
解决方案
你所拥有的是一个普通的属性文件。您可以使用此示例将值读入映射:
try (InputStream input = new FileInputStream("your_file_path")) {
Properties prop = new Properties();
prop.load(input);
// prop.getProperty("User") == "teodor"
} catch (IOException ex) {
ex.printStackTrace();
}
编辑:
对于 Python 解决方案,请参阅已回答的问题。
您可以使用configparser来读取.ini
, 或.properties
文件(您拥有的格式)。
import configparser
config = configparser.ConfigParser()
config.read('your_file_path')
# config['User'] == {'Date': '10/26/2003', 'Time': '09:01:01 AM'...}
# config['User']['User'] == 'teodor'
# config['System'] == {'Type': 'Abosulte', ...}
推荐阅读
- c# - 如何使用 if 语句 MQL5 更新变量
- python-3.x - 如何使用请求库将 shell 脚本中的 curl 命令转换为 python
- git - 修补程序:它们是由大师制作的还是由开发者制作的?
- google-apps-script - 从 Google Drive 文件夹中删除旧文件
- python - 在 python 中标准化直方图有困难
- sql - Amazon RDS Postgres 在 250 GB 表上查询缓慢
- bash - 如何检测“certbot renew”是否有任何证书更新?
- c++ - 可变平均设置但未使用
- gitlab - 作业成功,app-deploy 已通过,但 Trailhead Playground 未显示已部署的更改
- python-3.x - How do I perform inter-row operations within a pandas.dataframe