我想知道如何将.csv列表放入python列表中,我可以进行绘图和计算:
我用过:
fpath = r'C:112017\temp\tT.csv'
with open(fpath,'r') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
print(list(reader))
它给了我这样的列表(我不想要的):
[['2014-12-30', '18.34244791666665'], ['2014-12-31', '18.540224913494818'], ['2015-01-01', '18.15729166666666'],......
如果我使用
print(row)
它给了我这样的列表(看起来更好,但我还是不能用它来计算):
...
['2016-07-27', '20.434809022479584']
['2016-07-28', '21.395138886239796']
['2016-07-29', '20.81571181284057']
['2016-07-30', '20.565711801250778']
...
如何使用熊猫制作清单?或者有没有更简单的方法来实现这一目标?是否可以使用类似的东西:
date = row[0]
temp = row[1]
lis = pd.DataFrame(date,temp)
我想有一些基本的错误,但我不能自己解决。 感谢您抽空帮助。
答案 0 :(得分:4)
有pandas.read_csv()
方法可以读取csv文件并返回数据帧
例如:
fpath = r'C:112017\temp\tT.csv'
df = pd.read_csv(fpath, delimiter=',', names=['date', 'temp'])
答案 1 :(得分:1)
我猜你是想把列作为列表,即日期和温度列表。
fpath = r'C:112017\temp\tT.csv'
with open(fpath,'r') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
data = list(reader)
date, temp = list(map(list, zip(*data)))
# for python 2 use map(list,zip(*data))
# converting temp to float
temp = list(map(float,temp))
答案 2 :(得分:0)
在我看来,如果你想用.csv文件中的数据进行计算,你应该考虑使用pandas和numpy。
['4567890001','4567890001','1234567890','1234567890','foo','bar']