我将几个Excel文件中的信息附加到一个数据框中。每个Excel文件具有相同的结构,但对应于不同的城市。城市名称始终位于同一单元格(C2)中。你知道吗
如何在每个文件中提取城市名称,使其在新创建的数据框中显示为对应行的列?你知道吗
我附加的数据框如下所示:
Col1 Col2
40 34
104 108
23 1
43 21
因此,我无法判断哪些行属于文件X或文件Y。理想情况下,我希望有一个数据帧,例如:
Col1 Col2 Col3
City A 40 34
City A 104 108
City B 23 1
City B 43 21
我不确定是否应该在添加相应的城市列之前直接编辑/写入Excel文件。或者我应该在附加到数据帧之后或者在附加到数据帧的过程中这样做。你知道吗
任何指导都会很好。你知道吗
编辑:这是我复制Excel工作表结构的最佳尝试。注意A列和第5、6、7行为空。城市名称位于第2行C列
我想提取第8行到第11行中的信息,并将C3单元格中的城市名称作为列添加到这些行的旁边。你知道吗
ColA ColB ColC ColD ColE ColF ColG
Row1 Type XYZ
Row2 CityName XXX
Row3 CityCode 10
Row4 RYear 13
Row5
Row6
Row7
Row8 Rank Cat. 88 89 90 91
Row9 11 A 111 106 102 101
Row10 12 B 121 144 126 121
Row11 13 C 100 107 100 101
Edit2:按照ALollz的建议,我尝试了以下代码,但没有成功。我得到一个错误“'DataFrame'对象没有属性'ColC'”。请注意,files_xlsx
是一个包含所有Excel文件的列表。你知道吗
all_data = pd.DataFrame()
for f in files_xlsx:
city_name = pd.read_excel(f, "SheetA", nrows=2).ColC[1]
data = pd.read_excel(f, "SheetA", parse_cols="B:J")
data['col_city'] = city_name
all_data = all_data.append(data,ignore_index=True)
编辑3:不断尝试,终于找到了有效的方法。唯一的问题是cityname只设置为一行,而不是整列,这正是我想要的。有什么帮助吗?你知道吗
df = pd.DataFrame()
for f in files_xlsx:
city_name = pd.read_excel(f, "Sheet1", nrows=2, parse_cols="C", header=None, skiprows=1, skip_footer=264)
data = pd.read_excel(f, "Sheet1", parse_cols="B:J", header=None, skiprows=8)
data['City'] = city_name
df = df.append(data)
可以使用} 选择值:
nrows=1
将一个值只读到一个元素df
,然后按^{循环中:
相关问题 更多 >
编程相关推荐