从Excel到Dataframe的单单元格分析

2024-04-20 10:44:29 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个csv文件的文件夹,我想遍历它来创建一个数据帧。我已经能够遍历并创建数据帧,以每个csv的名称作为索引,但有一件事我无法做到,就是所有csv都有一个单元格A2,上面写着纬度:xxxxxx“我想创建一个名为latitude的列,其中包含每个csv的所有这些不同lat值。我该怎么做呢?你知道吗

我在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。我希望能够把lat和lon也放到数据帧中,但我不确定如何用Pandas分析单细胞。你知道吗


Tags: 文件csv数据文件夹a2usersfndf2
1条回答
网友
1楼 · 发布于 2024-04-20 10:44:29

我不认为你能用一个命令就解决这个问题。最简单的解决方案就是为经度/纬度数据创建一个单独的数据帧。大致如下:

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'])

这个数据帧现在被索引到文件名,所以向原始数据帧添加数据应该很容易。你知道吗

相关问题 更多 >