Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 来自具有特定结构的字符串的字典_Python_String_Dictionary - Fatal编程技术网

Python 来自具有特定结构的字符串的字典

Python 来自具有特定结构的字符串的字典,python,string,dictionary,Python,String,Dictionary,我正在使用Python3读取此文件并将其转换为字典 我有一个文件中的字符串,我想知道如何从中创建字典 [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 [Bu

我正在使用Python3读取此文件并将其转换为字典

我有一个文件中的字符串,我想知道如何从中创建字典

[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'.......}
可以删除
[]
之间的单词,如
[用户]、[系统]、[构建]、[文本]等。

在某些字段中,只有字符串的第一部分:

[Colors]
Red=
Blue=
Yellow=
DarkBlue=

你所拥有的只是一个普通人。您可以使用此示例将值读入地图:

try(InputStream输入=新文件InputStream(“您的文件路径”)){
Properties prop=新属性();
道具载荷(输入);
//prop.getProperty(“用户”)=“teodor”
}捕获(IOEX异常){
例如printStackTrace();
}
编辑:
有关Python解决方案,请参阅。
您可以使用来读取
.ini
.properties
文件(您拥有的格式)

导入配置解析器
config=configparser.configparser()
config.read('您的\u文件\u路径')
#config['User']=={'Date':'10/26/2003','Time':'09:01:01 AM'…}
#配置['User']['User']=='teodor'
#配置['System']=={'Type':'Abosulte',…}

您拥有的是一台普通的电脑。您可以使用此示例将值读入地图:

try(InputStream输入=新文件InputStream(“您的文件路径”)){
Properties prop=新属性();
道具载荷(输入);
//prop.getProperty(“用户”)=“teodor”
}捕获(IOEX异常){
例如printStackTrace();
}
编辑:
有关Python解决方案,请参阅。
您可以使用来读取
.ini
.properties
文件(您拥有的格式)

导入配置解析器
config=configparser.configparser()
config.read('您的\u文件\u路径')
#config['User']=={'Date':'10/26/2003','Time':'09:01:01 AM'…}
#配置['User']['User']=='teodor'
#配置['System']=={'Type':'Abosulte',…}

我建议做一些清洁,以去除[]行


之后,您可以使用“=”分隔符拆分这些行,然后将其转换为字典。

我建议进行一些清理,以清除[]行


之后,您可以使用“=”分隔符拆分这些行,然后将其转换为字典。

可以在python中轻松完成。假设您的文件名为
test.txt
。 这也适用于
=
之后没有任何内容的行以及具有多个
=
的行

d={}
以open('test.txt','r')作为f:
对于f中的行:
line=line.strip()#删除任何空格或换行符
零件=线。拆分('=')#围绕线拆分`=`
如果长度(零件)>1:
d[parts[0]]=''。加入(parts[1:])
印刷品(d)
输出:

{
  "Date": "10/26/2003",
  "Time": "09:01:01 AM",
  "User": "teodor",
  "UserText": "Max Cor",
  "UserTextUnicode": "392039n9dj90j32",
  "Type": "Absolute",
  "Dnumber": "QS236",
  "Software": "1.1.1.2",
  "BuildNr": "0923875",
  "Source": "LAM",
  "Column": "OWKD",
  "StageX": "12345",
  "Spotter": "2",
  "ApertureX": "0.0098743",
  "ApertureY": "0.2431899",
  "ShiftXYZ": "-4.234809e-002",
  "Text": "Here is the Text files",
  "DataBaseNumber": "The database number is 918723"
}

可以很容易地用python完成。假设您的文件名为
test.txt
。 这也适用于
=
之后没有任何内容的行以及具有多个
=
的行

d={}
以open('test.txt','r')作为f:
对于f中的行:
line=line.strip()#删除任何空格或换行符
零件=线。拆分('=')#围绕线拆分`=`
如果长度(零件)>1:
d[parts[0]]=''。加入(parts[1:])
印刷品(d)
输出:

{
  "Date": "10/26/2003",
  "Time": "09:01:01 AM",
  "User": "teodor",
  "UserText": "Max Cor",
  "UserTextUnicode": "392039n9dj90j32",
  "Type": "Absolute",
  "Dnumber": "QS236",
  "Software": "1.1.1.2",
  "BuildNr": "0923875",
  "Source": "LAM",
  "Column": "OWKD",
  "StageX": "12345",
  "Spotter": "2",
  "ApertureX": "0.0098743",
  "ApertureY": "0.2431899",
  "ShiftXYZ": "-4.234809e-002",
  "Text": "Here is the Text files",
  "DataBaseNumber": "The database number is 918723"
}

很抱歉,我忘了说我正在使用python:(-我将阅读您发送的链接me@Alambek没问题。:)解决方案大致相同()对不起,我忘了说我正在使用python:(-我会阅读您发送的链接me@Alambek没问题。:)解决方案大致相同()如果它解决了问题,请不要忘记标记它是一个答案:)。虽然配置解析器工作得更好。如果它解决了问题,请不要忘记标记它是一个答案:)。尽管配置解析器工作得更好。