为了账号安全,请及时绑定邮箱和手机立即绑定

使用 csv 文件中的数据选择另一个 csv 中的数据

使用 csv 文件中的数据选择另一个 csv 中的数据

猛跑小猪 2021-08-24 16:25:28
我对python很陌生,现在被卡住了。我正在尝试将我的现场笔记与我设备中的数据文件进行匹配。我有两个文件record.csv 和workingfile.csv。列record.csv:DOE,Plot_ID,type列workingfile.csv:JULIAN_DAYS,HP_12CH4,Day_of_exp,HP_13CH4,HP_Delta_iCH4_30s,12CO2,13CO2,CO2_tot,CH4_tot,Delta_30s_iCO2对于每一行record.csv,我想选择从线workingfile.csv对,其Day_of_exp包含间DOE和DOE + measuringtime。并使用这些选定的行和来自的列创建一个新文件record.csv我有很多数据,这是我决定为此尝试使用 python 的原因。如果有人可以提供帮助,非常感谢!我尝试了几件没有导致任何事情的事情......
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

我不明白什么是测量时间,但您可以尝试:


import csv


f1 = open("record.csv", "r")

reader = csv.DictReader(f1, delimiter='\t') #DictReader let you read the csv header


f2 = open("workingfile.csv", "r")

reader2 = csv.DictReader(f2, delimiter='\t')


f3 = csv.writer(open("newfile.csv", "w"))


record = [] #create a list to append values from first file

workingfile = [] #create a list to append values from second file


for row in reader:

    record.append(row['DOE']) #take values from DOE column

print(values)



for row in reader2:

    workingfile.append(row['Day_of_exp']) #take values from Day_of_exp column

print(values2)


for v in workingfile:

    if v in record:

        f3.writerow([v])

        print(v)


f1.close()

f2.close()

这适用于比较不同 csv 中的两列。


查看完整回答
反对 回复 2021-08-24
  • 2 回答
  • 0 关注
  • 272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信