Python 如何重命名文件夹中多个csv文件中的列?
我在一个文件夹中有两个csv文件 如何重命名文件夹中所有文件的列,如下所示Python 如何重命名文件夹中多个csv文件中的列?,python,pandas,Python,Pandas,我在一个文件夹中有两个csv文件 如何重命名文件夹中所有文件的列,如下所示 S.No Fruit Vendor Price 输入: 预期产出: 文件df1 S.No Fruit VendorA PriceA 1 Apple AB 89 2 Banana CA 72 S.No Fruit Vendor Price 1 Apple AB 89 2
S.No Fruit Vendor Price
输入:
预期产出:
文件df1
S.No Fruit VendorA PriceA
1 Apple AB 89
2 Banana CA 72
S.No Fruit Vendor Price
1 Apple AB 89
2 Banana CA 72
文件df2
S.No Fruit VendorB PriceB
1 Mango AB 55
2 Watermelon BC 23
S.No Fruit Vendor Price
1 Mango AB 55
2 Watermelon BC 23
预期产出:
文件df1
S.No Fruit VendorA PriceA
1 Apple AB 89
2 Banana CA 72
S.No Fruit Vendor Price
1 Apple AB 89
2 Banana CA 72
文件df2
S.No Fruit VendorB PriceB
1 Mango AB 55
2 Watermelon BC 23
S.No Fruit Vendor Price
1 Mango AB 55
2 Watermelon BC 23
在数据帧中读取文件:
df = pd.read_csv('df1.csv')
为列列表指定所需的名称
将此列分配给数据帧
将此数据帧写入另一个csv
对所有数据帧执行此操作。如果您不严格要求使用熊猫,请告诉我这是否有帮助。。还有其他的解决方案比panda更好
import shutil
import glob
files = glob.glob(".\*.csv")
for i in range(len(files)):
from_file = open(files[i])
to_file = open(files[i], mode="w")
to_file.write("S.No,Fruit,Vendor,Price\n")
shutil.copyfileobj(from_file, to_file)
这样,您可以使用.csv
扩展名获取文件夹中的所有文件。你甚至连一行字都不读。因此,如果csv文件变大,这将更快地工作。您可以使用以下方法:
files = ['df1.csv', 'df2.csv']
for file in files:
with open(file, 'r') as f:
data = f.readlines()
data[0] = 'S.no,Fruit,Vendor,Price'+'\n'
with open(file, 'w') as f:
for element in data:
f.write(element)
请提供一个最小的示例,而不是期望人们离开站点。请展示您解决此问题的尝试。@Mad Physicast我知道如何重命名列,但我不知道如何为多个文件重命名。df1.rename(columns={'oldName1':'newName1','oldName2':'newName2'},inplace=True)这是针对单个csv的,我希望它适用于Folder中的所有文件,然后只需使用上述步骤创建一个函数。确定即可