У меня есть CSV-файл с данными, построенными в [datetime, "(data1, data2)"]
в строках и мне удалось импортировать данные в питон, как time
и temp
, проблема я столкнулся, как я отделите temp
строку на две колонки new_temp
в формате float для последующего использования в дальнейшем?Извлечение данных из строки в Python
Мой код до сих пор:
import csv
import matplotlib.dates as dates
def getColumn(filename, column):
results = csv.reader(open('logfile.csv'), delimiter = ",")
return [result[column] for result in results]
time = getColumn("logfile.csv",0)
temp = getColumn("logfile.csv",1)
new_time = dates.datestr2num(time)
new_temp = [???]
Когда я print temp
я получаю ['(0.0, 0.0)', '(64.4164, 66.2503)', '(63.4768, 65.4108)', '(62.7148, 64.6278)', '(62.0408, 63.9625)', '(61.456, 63.2638)', '(61.0234, 62.837)', '(60.6823, 62.317)',...etc]
Если кто-то может помочь мне, то спасибо заранее.
Возможный дубликат (http://stackoverflow.com/questions/9763116/parse-a-tuple-from- a-string) –
Как примечание, вы должны прочитать CSV только один раз, а затем извлечь столбцы. В настоящее время вы читаете весь файл снова и снова. – CodeMonkey
Я проверил это решение и написал make_tuple (temp) и получил ошибку: ValueError: неверная строка. И я также попробовал кортеж (int (x) для x в temp [1: -1] .split (',')) и получить ошибку: AttributeError: объект «list» не имеет атрибута «split» –