如何从.csv列表中创建python列表?

时间:2017-11-15 10:04:19

标签: python pandas csv

我想知道如何将.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)

我想有一些基本的错误,但我不能自己解决。 感谢您抽空帮助。

3 个答案:

答案 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']