Python 对csv文件进行排序,并仅复制标题中包含关键字的行
我有多个csv文件,它们由\t(选项卡)分隔。 在每个文件中都有一行数据,其左侧有一个时间轴 注意:多个数据集可以具有相同的时间线!没有模式检测 我想循环浏览所有文件,在每个文件中我想循环浏览每个标题(单词) 然后,我想将标题名(I51_RH_T)中带有(例如:I51)的数据行复制到一个新文件(称为I51)中,并带有相应的时间线! 我还想循环通过标题的多个关键字 这就是我设法做到的:Python 对csv文件进行排序,并仅复制标题中包含关键字的行,python,csv,Python,Csv,我有多个csv文件,它们由\t(选项卡)分隔。 在每个文件中都有一行数据,其左侧有一个时间轴 注意:多个数据集可以具有相同的时间线!没有模式检测 我想循环浏览所有文件,在每个文件中我想循环浏览每个标题(单词) 然后,我想将标题名(I51_RH_T)中带有(例如:I51)的数据行复制到一个新文件(称为I51)中,并带有相应的时间线! 我还想循环通过标题的多个关键字 这就是我设法做到的: import re, csv, os, keywords = ["I01", "
import re, csv, os,
keywords = ["I01", "I02", "I03"]
Input_Dir = "E:/MA/05_Sensordaten/Sensordaten txt/"
files = os.listdir(Input_Dir)
i = 0
zz = 0
for each in keywords:
keyword = str(keywords[i])
#print(files)
for file in files:
if zz <= len(files) -1:
#print(files[zz])
file_and_path = Input_Dir + files[zz]
with open(file_and_path, "r") as csv_file:
csv_reader = csv.reader(csv_file, delimiter = "\t")
#print(csv_file)
with open("G:/MA/05_Sensordaten/Sensordaten sortiert/Aufbau" + keyword + ".txt", "w") as new_file:
csv_writer = csv.writer(new_file, delimiter=" ") # \t = TAB
j = 0
for words in csv_reader:
if j <= 400:
j += 1
while re.match(keyword, words[j]):
print(words[j])
j += 1
else:
break
zz += 1
i += 1
欢迎任何帮助
真诚的丹尼尔
for word in csv_reader:
x = re.search(keyword, word) #Sucht Aufbau in csv_reader
print(x)
在这里,您可以在word
您必须为此字典中的键或值再添加一个循环,例如
for word in csv_reader:
for key in word.keys():
x = re.search(keyword, key) #Sucht Aufbau in csv_reader
print(x)
但是,如果
关键字
不是正则表达式模式,而只是文字字符串,那么使用re
是没有意义的,如果key:print(keyword)中的关键字就足够了。
for word in csv_reader:
for key in word.keys():
x = re.search(keyword, key) #Sucht Aufbau in csv_reader
print(x)