Python: чтение файла CSV и построение точечной диаграммы - PullRequest
3 голосов
/ 28 февраля 2012

Я написал скрипт для вычисления больших CSV-файлов в размерах: 27000 строк х 22 столбца. Как я могу прочитать в CSV-файле, чтобы использовать его в matplotlib на разбросанном графике, подобном тому, что есть в этой теме?

диапазон оси в точечных графиках

Понятие генерации точечного графика понятно. Предприняты попытки проанализировать CSV-файл, например ::

data=csv.reader(open('some_file.csv, 'rb'), delimiter='|', quotechar='"')

но безуспешно.

Ответы [ 3 ]

9 голосов
/ 28 февраля 2012

Вот быстрое решение

def getColumn(filename, column):
    results = csv.reader(open(filename), delimiter="\t")
    return [result[column] for result in results]

и затем вы можете использовать его вот так

time = getColumn("filename",0)
volt = getColumn("filaname",1)

plt.figure("Time/Volt")
plt.xlabel("Time(ms)")
plt.ylabel("Volt(mV)")
plt.plot(time,volt)
2 голосов
/ 28 февраля 2012

В качестве общей альтернативы вам может быть интересен пакет pandas python от Wes McKinney: http://pandas.pydata.org/

Это буквально изменило мою жизнь для анализа данных с помощью Python. Это обеспечивает Python структурой данных, которая похожа на data.frame R, но еще более мощная. И он построен на вершине NumPy.

И он будет очень легко читать файлы CSV, загружая данные в DataFrame (подкласс numpy array), который можно легко разрезать и манипулировать.

1 голос
/ 28 февраля 2012

Это правильный разделитель? Вы читали документацию? http://docs.python.org/library/csv.html

data - это файловый объект. Вы должны перебрать его, чтобы получить доступ к данным. каждая строка - это список, на который указывает Маркус в своем примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...