我在Python 3.6中使用熊猫。 该脚本读取一个包含两行注释的Excel文件,然后读取一行包含单元格“ 11:11”的数据,该行必须在结果文件中分为两列
输入:
ID_TEST TEST_1
2- Comment_ 1
3- Comment_2 Naf_TEST_1
Data_1 11:11
输出(错误):
ID_TEST TEST_1
2- Comment_ 1 11
3- Comment_2 Naf_TEST_1 11
Data_1 11:11 11
正确的输出(所需):
ID_TEST TEST_1
2- Comment_ 1
3- Comment_2 Naf_TEST_1
Data_1 11 11
df_dos = pd.read_excel(file_test,sheetname="Dossiers")
a_dos = str (df_dos.iloc[2][list2_cols[col]])
b=a_dos.split(sep=":")
blg = int(len(b)-1)
i=0
for i in range (0, blg) :
for index, row in df_dos.iterrows():
df_opale_dos.at[index, " "] = b[i]
continue
我无法更新数据框,拆分操作必须仅在目标文件的第三行执行 我浏览了有关熊猫文档的Stack Overflow和Net,但是没有找到解决方案。 预先感谢您的时间和帮助。
答案 0 :(得分:1)
Splitting string columns和Dim FolderDirectory As String
FolderDirectory = "C:\Temp\Address, Postcode"
Call Shell("explorer.exe " & """" & FolderDirectory & """", vbNormalFocus)
创建新的列,然后根据需要将其重命名:
expand=True
结果:
df[['ID_TEST']].join(df.TEST_1.str.split(':',expand=True)).rename(columns={0: 'TEST_1a', 1: 'TEST_1b'})
更新基于以下评论:
如果您有一个变量 ID_TEST TEST_1a TEST_1b
0 2- Comment_ 1 None None
1 3- Comment_2 Naf_TEST_1 None
2 Data_1 11 11
,其中包含要拆分的列名(可以在循环中更改),请使用此变量代替列名:
col