我想从100多个CSV文件中读取特定列以创建新的CSV文件。源列的标题将被重命名为该列的提取文件名。
我可以获得各个列,但如果不使用.“csv”扩展名,则无法重命名每个列的标题:
import os
import pandas as pd
folder = "C:/Users/Doc/Data"
files = os.scandir(folder)
E2080 = []
with os.scandir(folder) as files:
for file in files:
#print(file)
df = pd.read_csv(file, index_col=None)
dist = {file: (df['lnt_dist'])}
E = pd.DataFrame(dist)
E2080.append(E)
dist = pd.concat(E2080, ignore_index=False, axis=1)
dist.head()
dist.to_csv('E2080', index=False)
2条答案
按热度按时间eivnm1vs1#
这是最后一段对我有用的代码(参见输出1):
t9aqgxwy2#
您应该使用
file.name
而不是file
来取得名称为的string
。而对于
string
,您可以使用.split(".")
来获取不带扩展名的名称。或者您可以使用
pathlib.Path
而不是os.scandir()
来拥有更多的函数。