我正在尝试从多个 csvs 创建一个唯一 ID 列表。
我有大约 80 个包含数据的 csvs,所有这些都采用相同的格式并位于同一目录中。这些文件包含来自大约 1500 个站点的时间序列数据,但并非所有站点都在所有文件中。包含我需要的数据的列称为 'Site Id'
。我可以通过创建 dataframe
从第一个 csv 中获取唯一值,但我看不到如何遍历所有剩余文件。
如果现在还不是很明显,我是一个完全的初学者,我的导师正在休假!
我试过为单个文件创建一个df
,但我想不出下一步。
df = pd.read_csv(r'C:filepathhere.csv')
ids = df['Site Id'].unique().tolist()
你可以这样做。我用了os.listdir函数获取所有文件,然后是 list.extend将我遇到的站点 ID 合并到我的 siteIDs
列表中。最后,将列表转换为集合,然后再转换回列表将删除所有重复条目。
siteIDs = []
directoryToCSVs = r'c:\...'
for filename in os.listdir(directoryToCSVs):
if filename.lower().endswith('.csv'):
df = pd.read_csv(r'C:filepathhere.csv')
siteIDs.extend( df['Site Id'].tolist() )
#remove duplicate site IDs
siteIDs = list(set(siteIds))
#siteIDs will now contain a list of the unique site IDs across all of your CSV files.
我是一名优秀的程序员,十分优秀!