Как мне прочитать координаты из файла csv в Python? - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь прочитать координаты из файла 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 файл с координатами

Ответы [ 2 ]

2 голосов
/ 05 августа 2020

Обновление: добавить дополнительные пояснения

csv.reader возвращает итератор, если вы повторяете его, он дает одну строку (список, разделенный разделителем) на l oop.

ваша проблема в том, что слишком много значений (столбцов) для unpack, X, Y недостаточно, чтобы содержать все значения в одной строке.

csv.DictReader сделать почти то же самое с csv.reader, но получить строку на основе словаря вместо строки на основе списка. Таким образом, вы можете получить доступ к полю с именем поля.

подробнее в python документации csv

используйте csv.DictReader

import csv

with open('buildingpoints.csv') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row['X'], row['Y'])
1 голос
/ 05 августа 2020

Вам не нужно делать l oop дважды.

with open('buildingpoints.csv') as file:
    for row in csv.reader(file):
        x, y = row
        print(x, y)
...