我想使用行索引按不均匀的行数拆分数据帧。
下面的代码:
groups = df.groupby((np.arange(len(df.index))/l[1]).astype(int))
Run Code Online (Sandbox Code Playgroud)
仅适用于统一的行数。
df
a b c
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
l = [2, 5, 7]
df1
1 1 1
2 2 2
df2
3,3,3
4,4,4
5,5,5
df3
6,6,6
7,7,7
df4
8,8,8
Run Code Online (Sandbox Code Playgroud) 我正在尝试用 pandas 读取 Excel 文件。
df=pd.read_excel('abcd (xyz-9) Interim Report 01-03-18.xlsx')
Run Code Online (Sandbox Code Playgroud)
这给了我文件未找到错误。如果我删除括号并将文件重命名为'abcd Interim Report 01-03-18.xlsx',那么它就可以正常工作。
我尝试用shutil重命名,但它给了我同样的错误
shutil.copyfile('abcd (xyz-9) Interim Report 01-03-18.xlsx','test.xlsx')
Run Code Online (Sandbox Code Playgroud)
我试过
1. pd.read_excel('abcd ^(xyz-9) Interim Report 01-03-18.xlsx')
2. pd.read_excel('abcd \\(xyz-9\\) Interim Report 01-03-18.xlsx')
Run Code Online (Sandbox Code Playgroud)
编辑:
即使我将 cwd 更改为文件位置,该文件似乎可以在本地驱动器上运行,但不能在网络驱动器上运行。
关于使用 glob 和os.path.exists:
df=pd.read_excel('abcd (xyz-9) Interim Report 01-03-18.xlsx')
Run Code Online (Sandbox Code Playgroud)
shutil.copyfile('abcd (xyz-9) Interim Report 01-03-18.xlsx','test.xlsx')
Run Code Online (Sandbox Code Playgroud)
关于使用 glob 和os.stat:
1. pd.read_excel('abcd ^(xyz-9) Interim Report 01-03-18.xlsx')
2. pd.read_excel('abcd \\(xyz-9\\) Interim Report 01-03-18.xlsx')
Run Code Online (Sandbox Code Playgroud)
for i in range(0,1):
for filename in glob.glob(fpath+"\\"+ldir[i]+"\\"+"*Interim*.xlsx"):
print(filename) …Run Code Online (Sandbox Code Playgroud)