我試圖從CSV文件(A)讀取數據,提取數據並將其寫入不同的CSV文件(B)。在新文件B中,我想要兩行。第一行應包含所有預定義變量,第2行應填寫屬於第1行中特定變量的所有值。Python - 將.csv中的數據讀取並分配給預定義的變量
我希望任何人都可以告訴我實現此目的的最佳方法。 (ⅰ加入我在這篇文章的結尾使用.csv文件)
(A)Python代碼
import re
import csv
#Call for the export file
data = open('C:/Exports/Export 3.csv')
#Make a list with the predefined variables
definition = ["record_id", "abbreviation", "study_id", "step_count",
"distance", "ambulation_time", "velocity", "cadence", "norm_velocity",
"step_time_differential", "step_length_differential",
"cycle_time_differential", "step_time", "step_length", "step_extremity",
"cycle_time", "stride_length", "hh_base_support", "swing_time",
"stance_time", "single_support_time", "double_support_time", "toe_in_out"]
my_data = {}
#Show data for each row without whitespace
for line in data:
line = line.rstrip()
#print(line)
values = re.findall("-?[0-9].+", line)
print(values)
這是輸出的一部分上面的代碼將生成:
[]
['3;']
['292,34;']
['1,67;']
['175,1;']
['107,8;']
[]
['0,004;']
['1,051;']
['0,008;']
[]
[]
['0,558;0,554']
['96,746;97,797']
[]
['1,116;1,108']
['192,159;197,122']
['2,988;6,32']
['0,466;0,466']
['0,65;0,642']
['0,466;0,466']
['0,184;0,176']
['41,8;42,1']
['58,2;57,9']
['41,8;42,1']
['16,5;15,9']
['-1,1;4']
正如您在輸出代碼中看到的,有些行包含兩個值,例如:['2,988; 6,32']它們需要變爲1值,通過計算兩個值之前的平均值寫t下襬到一個csv文件。
(B)所需的輸出
record_id abbreviation study_id step_count distance
1 3 292,34
如果你喜歡,你可以導出文件播放,你可以在這裏下載: CSV export file
提供更多信息與樣本輸入和輸出樣本,這樣你就不會得到彌補答案 –
謝謝!我改變了一些文本,使其更容易理解,並添加了我最後使用的輸入.csv文件。還添加了所需輸出的示例。 – Yak