2024-06-28 20:13:07 发布
网友
我试图从csv文件中读取坐标,以便使用这些数据执行聚类。我正在努力正确读取坐标。这是我迄今为止尝试过的代码:
with open('buildingpoints.csv') as file: data = [(X, Y) for X, Y in csv.reader(file)] for row in data print(row)
我附上了csv文件的截图,我正试图从中提取信息。任何帮助都将不胜感激
更新:添加更多解释
csv.reader返回一个迭代器,如果对其进行迭代,则每个循环产生一行(列表,由delimeter分割)
csv.reader
您的问题是要解压缩的值(列)太多,X, Y不足以在一行中包含所有值
X, Y
csv.DictReader对csv.reader执行几乎相同的操作,但生成基于字典的行,而不是基于列表的行。所以您可以使用字段名访问字段
csv.DictReader
更多详情请参见python csv documentation
使用csv.DictReader
import csv with open('buildingpoints.csv') as file: reader = csv.DictReader(file) for row in reader: print(row['X'], row['Y'])
你不需要重复两次
with open('buildingpoints.csv') as file: for row in csv.reader(file): x, y = row print(x, y)
更新:添加更多解释
csv.reader
返回一个迭代器,如果对其进行迭代,则每个循环产生一行(列表,由delimeter分割)您的问题是要解压缩的值(列)太多,
X, Y
不足以在一行中包含所有值csv.DictReader
对csv.reader
执行几乎相同的操作,但生成基于字典的行,而不是基于列表的行。所以您可以使用字段名访问字段更多详情请参见python csv documentation
使用
csv.DictReader
你不需要重复两次
相关问题 更多 >
编程相关推荐