我对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的原因。
非常感谢任何人的帮助!我尝试了一些没有成功的事情...
答案 0 :(得分:0)
我不明白什么是测量时间,但是您可以尝试:
XWPFTable table = doc.CreateTable();
table.Width = 4500;
table.SetColumnWidth(0, 100);
这用于比较不同csv中的两列。
答案 1 :(得分:0)
好吧,我设法做点事!我在这里分享,以防万一。随意批评,这可能不是最好的方法。
working_file = "workingfile.csv"
record_file = "record.csv"
output = "output.csv"
measure_t = 0.004167 #in days, 0.004167 day corresponds to a 6 minutes measurement
out = csv.writer(open(output, "w"))
out.writerow(["DOE", "Plot_ID", "type", "CO2", "CH4"])
data1 = pd.read_csv(working_file)
data2 = pd.read_csv(record_file)
DOE1 = data1.Day_of_exp.tolist()
DOE2 = data2.DOE.tolist()
ID = data2.Plot_ID.tolist()
typ = data2.type.tolist()
CO2 = data1.CO2_tot.tolist()
CH4 = data1.CH4_tot.tolist()
for x in DOE2:
for v in DOE1:
if x <= v <= x + measure_t:
n = DOE2.index(x)
y = ID[n]
z = typ[n]
co2 = CO2[n]
ch4 = CH4[n]
out.writerow((v,y,z,co2,ch4))
干杯!