将数据转换为GeoJson

2024-09-29 06:35:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文本文件,希望将数据格式更改为GeoJson格式。首先,我想把它分解成不同的部分。我无法使用python编写代码来实现这一点。你能帮我解析一下数据并生成GeoJson格式吗。初始数据格式如下所示。在

.A DAQT2 170314 C DH124045 /HGIRS 479.7:

.A DAMT2 170314 C DH115756 /HGIRS 425.1:

.A DBQT2 170314 C DH123840 /HGIRS 436.6:

.A DBDT2 170314 C DH120419 /HGIRS 472.3:

.A DDDT2 170314 C DH120204 /HGIRS 400.6:

.A DCNT2 170314 C DH120806 /HGIRS 412.9:

.A DBUT2 170314 C DH124633 /HGIRS 404.1:

.A DBBT2 170314 C DH121511 /HGIRS 453.4:

.A DDNT2 170314 C DH123336 /HGIRS 0.2:

.A DAXT2 170314 C DH123031 /HGIRS 438.1:

到目前为止,我生成了以下代码来首先分离数据(解析它们),如下所示,但它返回一行数据。我想要逐行输出。在

^{pr2}$

输出如下:

['["[\':", \'1117\', \'AM\', \'CDT\', \'TUE\', \'MAR\', \'14\', 
"2017\\\\n\',", "\':\\\\n\',", "\':", \'HOURLY\', \'ACCUMULATOR\', 
\'INFORMATION\', "TABLE\\\\n\',", "\':\\\\n\',", "\':", \'NOTE:\', \'\', 
\'ERRONEOUS\', \'REPORTS\', \'MAY\', \'BE\', \'RECEIVED\', \'UNDER\', 
"CERTAIN\\\\n\',", "\':", \'\', \'\', \'\', \'\', \'\', \'\', \'\', 
\'WEATHER\', "CONDITIONS\\\\n\',", "\':\\\\n\',", "\':", 
"**********************************************************\\\\n\',", "\':", 
\'ID\', \'\', \'\', \'\', \'LOCATION\', \'\', \'\', \'\', \'\', \'\', \'\', 
\'\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', 
\'ACCUMULATOR\', "VALUE\\\\n\',", "\':", 
"**********************************************************\\\\n\',", 
"\':CITY", \'OF\', \'DALLAS\', \'ALERT\', "SYSTEM\\\\n\',", "\'.A", 
\'DDFT2\', \'170314\', \'C\', \'DH103231\', \'/HGIRS\', "516.8:\\\\n\',", 
"\'.A", \'DCVT2\', \'170314\', \'C\', \'DH110026\', \'/HGIRS\', 
"536.0:\\\\n\',", "\'.A", \'DDJT2\', \'170314\', \'C\', \'DH102056\', 
\'/HGIRS\', "0.0:\\\\n\',", "\'.A", \'DDUT2\', \'170314\', \'C\', 
\'DH100503\', \'/HGIRS\', "3.6:\\\\n\',", "\'.A", \'DDUT2\', \'170314\', 
\'C\', \'DH100533\', \'/HGIRS\', "3.9:\\\\n\',", "\'.A", \'DDUT2\', 
\'170314\', \'C\', \'DH100603\', \'/HGIRS\', "4.0:\\\\n\',", "\'.A", 
\'DDUT2\', \'170314\', \'C\', \'DH100703\', \'/HGIRS\', "4.2:\\\\n\',", 
"\'.A", \'DDUT2\', \'170314\', \'C\', \'DH101603\', \'/HGIRS\', 
"4.5:\\\\n\',", "\'.A", \'DDUT2\', \'170314\', \'C\', \'DH103404\', 
\'/HGIRS\', "4.7:\\\\n\',", "\'.A", \'DDWT2\', \'170314\', \'C\', 
\'DH100740\', \'/HGIRS\', "0.0:\\\\n\',", "\'.A", \'DCXT2\', \'170314\', 
\'C\', \'DH105825\', \'/HGIRS\', "614.1:\\\\n\',", "\'.A", \'DCRT2\', 
\'170314\', \'C\', \'DH101815\', \'/HGIRS\', "381.1:\\\\n\',", "\'.A", 
\'DBGT2\', \'170314\', \'C\', \'DH103921\', \'/HGIRS\', "394.2:\\\\n\',", 
"\'.A", \'DBUT2\', \'170314\', \'C\', \'DH105533\', \'/HGIRS\', 
"404.1:\\\\n\',", "\'.A", \'DBRT2\', \'170314\', \'C\', \'DH101936\', 
\'/HGIRS\', "447.6:\\\\n\',", "\'.A", \'DBRT2\', \'170314\', \'C\', 
\'DH103306\', \'/HGIRS\', "447.6:\\\\n\',", "\'.A", \'DBZT2\', \'170314\', 
\'C\', \'DH102317\', \'/HGIRS\', "397.1:\\\\n\',", "\'.A", \'DATT2\', 
\'170314\', \'C\', \'DH102058\', \'/HGIRS\', "448.6:\\\\n\']"]']

Tags: 数据代码geojson格式数据格式文本文件accumulator分解成
1条回答
网友
1楼 · 发布于 2024-09-29 06:35:36

如果分割('')“Hello world/n Hi someone/n”,则输出将为

['Hello','world/n','Hi','someone/n']

如果你用str转换它,结果是

^{pr2}$

解决方案是在第一个数组的每个元素中执行for。在

data = lines.split('/n')
data[:] = [x.split(' ') for x in data]

这样,数据的输出将是:

[['Hello', 'world'], ['Hi','someone']]

然后可以使用for逐行写入该数据。在

对于这个结果:

Hello
world
Hi
someone

只是:

for line in data:
   for word in line:
      file.write("%s/n" % word)

如果您想要的输出是:

Hello world
Hi someone

然后:

for line in data:
   for word in line:
      file.write(word)
   file.write('/n')

小费, 也可以将数据联接到数组中:

>>>a = ["This","is","a","sentence"]
>>>"/n".join(a)
This
is 
a 
sentence

但如果你尝试这样做,它会给你一个错误:

>>>a = [["This","is","a","sentence"],["An","Other","sentence"]]
>>>"/n".join(a)
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, list found

但你可以试试:

>>>a = [["This","is","a","sentence"],["An","Other","sentence"]]
>>>a[:] = [' '.join(x) for x in a]
>>>a
['This is a sentence', 'An Other sentence']

相关问题 更多 >