如何从无表头分号分隔CSV生成指定键名的字典?
问题修正方案
你的代码问题出在CSV分隔符不匹配:你的数据用分号;分隔,但pd.read_csv默认使用逗号,作为分隔符,导致整行被识别为单一列,最终字典只生成第一个键。
修正后的代码
第一种(更简洁的写法):
import pandas as pd def readData(filename, labels): df = pd.read_csv(filename, header=None, sep=';') df.columns = labels return df.to_dict('list')
第二种(基于你原有逻辑修正):
import pandas as pd def readData(filename, labels): df = pd.read_csv(filename, header=None, sep=';') return {k: list(v) for k, v in zip(labels, df.values.T)}
验证效果
调用data = readData('energy_2.csv', ['M', 'V', 'H'])后,返回的字典结构如下:
{ 'M': [150.270685, 150.062813, ..., 149.906676], 'V': [12.977528, 12.595397, ..., 12.53648], 'H': [75.638787, 75.329646, ..., 76.025984] }
内容的提问来源于stack exchange,提问作者Tumes
相关产品推荐
相关产品推荐

