问题描述
我有多个zip,都包含1个文件。这些zip文件中的文件为csv,包含记录分配。这是文件外观的一个示例:
2020-01-01-14:00:00,TM1,TM2,TM3,TM4,TM5,Name2,Name5,Name6,Name7
2020-01-01-14:00:00,Name5
2020-01-01-14:00:00,AGE,Name1,Name3,Name4,Name6
2020-01-01-14:00:00,Name7
我试图读取zip文件(不提取文件),并且基于某些条件,我想将每个文件的行写入新文件中。
这些是条件。仅当两个条件都成立时,我才会将该行读入一个新文件。
- 行中必须至少包含以下单词之一('Name1,Name2,Name3')
- 该行中的第五个单词必须为'AGE'
这是我的代码:
import zipfile
import os
import pandas as pd
import csv
root = r'c:\data\FF\Desktop\archive\archive.zip'
destination = r'c:\data\FF\Desktop\archive'
with zipfile.ZipFile(root,'r') as my_zip:
my_zip.extractall(destination) #<----unzipping the file because I dont kNow how to read it directly :(
search_age = 'AGE'
search_names = ['Name1','Name2','Name3']
for file in os.listdir(destination):
if file.endswith('.txt'): #<--- reading the unzipped file only.
with open(file,'r') as my_file:
reader = csv.reader(my_file)
for row in reader:
if search_age == row[4] and x for x in search_names in row: #<-- check for AGE and for 'Name1,Name2 or Name3'
with open('new_file.txt','w') as new_file:
for row in reader:
new_file.write(row) #<--- write the found lines to a new file.
现在我有2个问题:
- 我收到了
if search_age == row[4] and x for x in search_names in row: ^ SyntaxError: invalid Syntax
- 我想直接读取zip文件,而不是先解压缩文件。
我希望我的new_file
看起来像这样:
2020-01-01-14:00:00,Name7
有人可以告诉我如何解决此问题?谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)