【发布时间】:2014-02-26 03:12:45
【问题描述】:
这可能是封面,如果有,请道歉。我在搜索中找不到确切的答案。我拥有的基本上是3个文件。第一个是主要短语的文本文件,第二个文件是大约 1600 行和 3 行(城市、州和 zip)的 csv 文件,第三个文件是带有辅助短语的文本文件。
我想要做的是获取文件一(它只有一个短语,例如;信誉管理)并将其附加到 csv 文件中“每一”行的开头,然后从 csv 中删除逗号/制表符文件,然后将第三个文本文件附加到行尾(第三个文本文件也只有一个短语,例如在线声誉公司),然后获取 csv 的第二列,即状态并将其附加到最后一行。
我想要实现的示例输出如下所示:
亚利桑那州凤凰城 87443 的声誉管理 - 查找亚利桑那州的在线声誉公司
声誉管理 Tuscon Arizona 87444 - 联系亚利桑那州的在线声誉公司
声誉管理 Albert Arizona 87445 - 在亚利桑那州查找在线声誉公司
这是我到目前为止的代码,但我被卡住了。它没有删除选项卡,它只是将第一个文本文件附加到输出 csv 中的第一行,而不是其他 1599 行。此外,当它到达类型(secondarykeywordlist)时,我得到一个类型为“_io.TextIOWrapper”的对象没有 len()
任何帮助将不胜感激。
file = open('wordpress_input_file.csv', 'w')
file.write('' + type(mainkeywordlist).title().strip() + ' ' + ''.join(open('data_files/cities/arizona_cities.csv', 'r').readlines()).strip(",\n") + ' - ' + type(concat2).title().strip() + ' ' + type(secondarykeywordlist).title().strip() + '')
file.close()
这是我的输出现在的样子如果我取出二级关键字列表,我会得到一个错误,把它放回去。
亚利桑那州凤凰城 87443 的声誉管理,查找
编辑: 我在 Windows 7 上运行 Python。这是 3 个文件的内容。
文件 1 个文本文件(仅 1 行):信誉管理
文件2个csv文件(1600行3行):
凤凰城,亚利桑那州,87443
凤凰,图斯康,87444
凤凰,阿尔伯特,87445
等
文件 3 文本文件(仅 1 行):在线声誉公司
找到问题的解决方案:这是现在运行良好的工作代码。感谢大家的贡献。
f_in = open("data_files/main_keyword.txt",'r')
prefix = f_in.read().strip()
f_in = open("data_files/secondary_keyword.txt", "r")
postfix = "%s\n" % (f_in.read().strip())
f_in = open('data_files/cities/texas_cities.csv', 'r')
f_out = open('wordpress_input_file.csv', 'w')
for line in f_in.readlines():
f_out.write(prefix.title() + ' ' + line.strip().replace(","," ") + ' - ' + type(concat2).title().strip() + ' ' + postfix.title().strip() + ' In ' + line.split(",")[1]+"\n" + '')
f_in.close()
f_out.close()
【问题讨论】:
-
如果您说您使用的是 Windows、Linux 还是 Mac,这将很有用。此外,如果您显示三个文件中的每一个的 2-3 行,以及会产生什么输出。此外,如果对可以使用的编程语言和/或工具有限制......