[英]Script to extract part of txt file to an excel
我有一个看起来像这样的 txt 文件:
category test_1
aaa.com; test info - tw
bbb.com; test info - al
category “test_2”
ccc.com; test info - al
ddd.com; test info - tw
eee.com; test info - tw
category test_3
fff.com
ggg.com; test info - al
hhh.com; test info - tw
iii.com; test info - al
我需要帮助编辑一个 Python 脚本,该脚本提取 txt 文件的一部分并将其导出到 excel 文件。 例如,如果我想导出 test_1 类别中的条目,脚本将在 excel 文件中生成以下输出。
一个 | 乙 | C | |
---|---|---|---|
1 | aaa.com | 测试信息 - tw | |
2 | bbb.com | 测试信息 - al | |
3 |
我尝试使用下面的代码
我的 txt 文件作为 autotest.txt 保存在我的桌面上
file=open(“autotest.txt”,’r’)
data=file.read()
categories=data.split(‘category’)
dict_format={}
for categor_data in categories:
items=categor_data.split(‘\n’)
dict_format[items[0].replace(“ “, “”)=items[1:]
for name in dict_format:
print(name)
print(“Which category to export to .csv?”)
answer=input()
with open(answer+”.csv”,’w’) as csv:
for row in dict_format[answer][:-1]:
if row != “”:
csv.write(row.replace(“;”,”,”)+”\n”)
csv.write(dict_format[answer][-1].replace(“;”,”,”))
csv.close()
当我运行此代码时,它可以正常工作并为 test_1 和 test_3 返回一个 excel 文件,但“test_2”不返回文件。 我不确定为什么会发生这种情况,因为我正在考虑并在包括引号的问题中输入“test_2”。 我也试过在没有的问题中输入它并获取一个文件,但它不包含条目。
非常感谢有关引号为何导致此错误的任何帮助。
谢谢!
打印密钥时:
print(dict_format.keys())
返回:
dict_keys([“, ‘test_1’, ‘“test_2”’, ‘test_3’])
改变:
dict_format[items[0].replace(“ “, “”)]=items[1:]
对此:
item_name=items[0].replace(“ “, “”)
item_name=item_name.strip(‘“‘)
dict_format[item_name]=items[1:]
这会改变程序读取类别并产生预期输出的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.