Soe*_*ham 3 python excel pandas
我想用 Pandas 读取 Excel 文件,删除标题行和第一列,并将结果数据写入同名的 Excel 文件中。我想对文件夹中的所有 Excel 文件执行此操作。我已经编写了数据读取和写入的代码,但无法将数据保存在同名的文件中。我写的代码是这样的——
import numpy as np
import pandas as pd
import os
for filename in os.listdir ('./'):
if filename.endswith ('.xlsx'):
df = pd.read_excel ('new.xlsx', skiprows=1)
df.drop (df.columns [0], axis=1, inplace=True)
df.to_csv ('new.csv', index=False)
Run Code Online (Sandbox Code Playgroud)
如何自动化同一文件夹中所有 Excel 文件的代码?
filename在函数中使用变量read_excel,然后通过创建新文件名format并删除第一列,可以使用DataFrame.iloc- 选择没有第一列的所有列:
for filename in os.listdir ('./'):
if filename.endswith ('.xlsx'):
df = pd.read_excel (filename, skiprows=1)
df.iloc[:, 1:].to_csv('new_{}.csv'.format(filename), index=False)
Run Code Online (Sandbox Code Playgroud)
另一个解决方案glob,有可能指定扩展名:
import glob
for filename in glob.glob('./*.xlsx'):
df = pd.read_excel (filename, skiprows=1)
df.iloc[:, 1:].to_csv('new_{}.csv'.format(filename), index=False)
#python 3.6+
#df.iloc[:, 1:].to_csv (f'new_{filename}.csv', index=False)
Run Code Online (Sandbox Code Playgroud)