2015-11-19 71 views
1

所以我有一个csv文件的文件夹,我想通过它来创建数据框。我已经能够遍历并创建每个csv的名称作为索引的数据框,但是我无法做的一件事是所有的csv都有一个单元格A2,它表示“latitude:xxxxxx “我想创建一个名为latitude的列,其中包含每个csv的所有这些不同的纬度值。我会如何去做这件事?从Excel分析单个单元格到数据框熊猫

我有什么对通过CSV文件迭代:

for fn in os.listdir('C:\\Users\\joshs_000\\Desktop\\WindProject\\BayAreaData'): 
    if fn.endswith(".csv"): 
     df2 = pd.read_csv('C:\\Users\\joshs_000\\Desktop\\WindProject\\BayAreaData\\' + fn, skiprows = 3) 
     df2 = df2['power (MW)'] 
     df1[fn[:5]] = df2 

每个数据帧的细胞中含有A1和A2,在单个细胞的纬度和经度,下方是我复制过表,因此是skiprows。我期望能够获得纬度和经度,但我不确定如何使用Pandas分析单个单元。

+0

您可以编辑该问题以包含迄今为止的尝试,以及一个小输入样本和您的预期输出。这将帮助我们确定你想要达到的目标。 –

回答

0

我不认为你可以用一个熊猫命令来解决这个问题。最简单的解决方案就是为经度/纬度数据创建一个单独的数据框。沿着线的东西:

import csv 

row_list = [] 
for fn in os.listdir('C:\\Users\\joshs_000\\Desktop\\WindProject\\BayAreaData'): 
    if fn.endswith(".csv"): 
     with open(fn, 'r', newline='') as f: 
      reader = csv.reader(f, delimiter=',') 
      row_list.append([fn] + next(reader)) 
df_location = pd.DataFrame(row_list, columns=['filename', 'longitude', 'latitude']) 
df_location.set_index(['filename']) 

该数据帧现在索引到的文件名,所以将数据添加到原始数据帧应该很容易。

相关问题