【发布时间】:2019-10-08 03:01:43
【问题描述】:
我的要求是在n 行数之后读取多个包含我感兴趣的数据的 CSV 文件。这个数字n 不是恒定的,因为它随不同的 CSV 而变化(因此,我不能使用 skiprows)。
CSV的格式如下:
Test: Rate1, "2" , units
specimen: Rectangular, "3", units
Time, Estimate, Load
(s) , (units) , (N)
"1","2","4"
"5","8","12"
另一个 CSV 可能是:
Test: Rate1, "2" , units
specimen: Rectangular, "3" , units
value_based : Sample7, "9" , product
Test_condition: controlled, "0" , test
Time, Estimate, Load
(s) , (units) , (N)
"12","6","8"
"18","3","2"
但是,我感兴趣的唯一列名是:[Time、Estimate、Load]。
我想做以下事情:
导出数据并指定标头为
Time、Estimate和Load。跳过第一行值(
(s) , (units), (N)),因为我想将它们与标题连接起来并将它们重命名为Time(s) , Estimate(units), Load(N)。
这是我尝试过的:
with open(file,"r+",newline="") as csvFile:
dictReader = csv.DictReader(csvFile)
for row in dictReader:
print(row["Time"], row["Load"], row["Extension"])
df = pd.read_csv(file,usecols=["Time","Load","Extension"])
print(df["Time"].head(3))
请建议我需要如何继续使用我的预期标题获取数据。提前致谢。
【问题讨论】:
-
谢谢@D_Serg。这通过效用函数解决了我的部分问题。我只是想知道我想要的是否可以通过,可能是,另一种方式来实现。
标签: python pandas csv dataframe dictionary