Как да конвертирате CSV файл в графика в Python

Разработващ програмист Team Development Дизайн на уебсайтове и технологии за кодиране, работещи в офис на софтуерна компания

CSV файловете са удобни поради тяхната простота и преносимост, те са неефективни за показване или анализиране на големи количества данни; те обаче не показват визуално данните.

Кредит на изображението: SARINYAPINNGAM/iStock/GettyImages

Повечето приложения за бази данни и електронни таблици могат удобно да извеждат таблични данни под формата на CSV (стойности, разделени със запетая) файлове. Въпреки че CSV файловете са удобни поради тяхната простота и преносимост, те са неефективни за показване или анализиране на големи количества данни. За да преодолее това ограничение, програмистът може да използва езика за програмиране Python и matplotlib, за да начертае данни от CSV файл и създайте четлива, визуално атрактивна графика, подходяща за уеб или печат публикация.

Подготовка за изобразяване на CSV данни

Преди всъщност да начертаете CSV файла в Python, ще искате да се уверите, че имате всички необходими инструменти и да създадете тестов файл. Това включва инсталирането на Python и необходимите библиотеки, както и наличието на CSV файл, който съдържа две колони с числови данни.

Видео на деня

Стъпка 1: Създайте тестов файл

Първо отворете своя текстов редактор и създайте прост CSV файл за тестване. Проба може да изглежда така:

1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3

Стъпка 2: Импортиране на необходимите библиотеки

Сега сте готови да импортирате необходимите библиотеки на python във вашия кодов файл с този ред код:

импортирайте matplotlib.pyplot като plt импортирайте csv import sys

Начертайте графика в Python от CSV

След като подготовката ви махна, вече можете да започнете да използвате Python, за да нарисувате графика от CSV файл.

Стъпка 1: Създайте обект за четене

Отворете CSV файла и създайте обект за четене от него. Декларирайте променливи, за да определите горните и долните граници за стойностите на осите x и y на графиката:

csv_reader = csv.reader (open('test.csv')) bigx = float(-sys.maxint -1) bigy = float(-sys.maxint -1) smallx = float (sys.maxint) smally = float (sys .maxint)

Стъпка 2: Итерация по редове

Итерирайте всеки ред, съдържащ се в обекта за четене, съхранявайки всеки ред като връх в масив от върхове. В същия цикъл сравнете стойностите на x и y, за да съхраните техните горни и долни граници. Сортирайте масива от върхове и след това го прегледайте отново. Този път съхранявайте сортираните x и y стойности в отделни масиви:

verts = [] за ред в csv_reader: verts.append (ред) ако float (ред[0]) > bigx: bigx = float (ред[0]) ако float (ред[1]) > bigy: bigy = float ( ред [1]), ако float (ред [0]) < smallx: smallx = float (ред[0]) ако float (ред[1]) < smally: smally = float (ред[1]) verts.sort() x_arr = [] y_arr = [] за vert in verts: x_arr .append (vert[0]) y_arr.append (върх[1])

Стъпка 3: Направете обект на FigureCanvas

Създайте обект на FigureCanvas, като използвате импортирания pyplot обект matplotlib. Добавете осите на графиката към FigureCanvas, като извикате функцията add_axes и й предадете масив от стойности под формата на: left, bottom, width, height. Тези стойности определят къде се поставя графиката върху платното — те могат да варират от 0,0 до 1,0:

fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])

Стъпка 4: Форматирайте графиката

Форматирайте графиката, като добавяте етикети и дефинирате минималните и максималните стойности за всяка ос:

ax.set_xlabel('x data') ax.set_ylabel('y data') ax.set_xlim (smallx, bigx) ax.set_ylim (smally, big)

Стъпка 5: Начертайте графиката

Начертайте графиката, като предадете двата масива, съдържащи стойностите на x и y, извлечени от CSV файла. Персонализирайте линейния график, като подадете допълнителни стойности, като цвят на линията (цвят) или ширина на линията (lw). Покажете готовата графика, като извикате метода show, за да отворите прозорец и да съхраните изображението, като извикате savefig, за да създадете растерен файл на диска:

ax.plot (x_arr, y_arr, color='blue', lw=2) plt.show() fig.savefig('test.png')

Важни съображения за файлове

За да създадете файлове, които интерпретаторът на Python може да чете, трябва да използвате ascii текстов или кодов редактор, който създава текстови файлове. Можете да съхранявате графични изображения в много различни формати на изображения, включително: png, pdf, ps и svg.

Консултирайте се с документацията на Matplotlib

Някои аспекти на инсталацията и функционалността на библиотеката matplotlib варират при различните компютърни платформи. Прочетете внимателно документацията. Библиотеката може да показва цифрова информация по огромен брой начини и може да бъде фино персонализирана. Ще е необходимо задълбочено четене на документацията, за да станете опитни.