python输入格式错误_Python值错误:节点或字符串格式不正确:<_原始名称目标

在尝试从文本文件读取并解析地理坐标为Polygon对象时,遇到了Python `ast.literal_eval` 错误。错误发生在尝试将字符串转换为可解析的Python表达式时,导致`ValueError: malformed node or string`。代码中使用正则表达式提取坐标,并用`ast.literal_eval`进行转换。问题可能源于输入数据格式不正确。
摘要由CSDN通过智能技术生成

嗨,伙计们,我一直得到一个错误,我吓坏了,因为我有一个类似的代码,它没有造成任何问题。我想是因为ast.literal_评估但在我的另一个地理定位代码中,它工作得很好,唯一的区别是我的工作代码中有8个坐标,而不是2个。在from __future__ import print_function

from shapely.wkt import loads as load_wkt

from shapely.geometry import Point, Polygon

import re

import ast

import io

with io.open('sample_test1.txt', encoding="utf-8") as f, io.open('sample_test2.txt.txt', 'w',encoding="utf-8") as g:

for line in f:

j = re.sub(r'.*(\[.*\]).*', r'\1', line.rstrip())

k = ast.literal_eval(j)

p = Polygon(k)

c = p.centroid

print (c, file = g)

f.close()

g.close()

数据显示re.sub公司捕获量如下所示:

^{pr2}$

原始输入:703971723738288128,[(39.87181,-75.28028),(40.13792,-75.28028),(40.13792,-74.95571),(39.87181,-74.95571)],,,lmao maybe but I probably listened to TLOP almost everyday so I heard everyone song at least 10 times 😭

703971724577148928,[(37.88661,-79.48765),(39.72362,-79.48765),(39.72362,-74.98628),(37.88661,-74.98628)],,,Whose trying to come out and enjoy this beautiful weather?

703971724635852800,[(39.87181,-75.28028),(40.13792,-75.28028),(40.13792,-74.95571),(39.87181,-74.95571)],21886583,WorkFromHomeQ102Meet5H,I just got home from work now I'm listening to #WorkFromHome 😜 #Q102Meet5H @Q102Philly

我一直在犯这个错误:File "polygon_csv.py", line 30, in

k = ast.literal_eval(j)

File "...\Anaconda3\lib\ast.py", line 84, in literal_eval

return _convert(node_or_string)

File "...\Anaconda3\lib\ast.py", line 55, in _convert

return tuple(map(_convert, node.elts))

File "...\Anaconda3\lib\ast.py", line 83, in _convert

raise ValueError('malformed node or string: ' + repr(node))

ValueError: malformed node or string: <_ast.name object at>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值