这可能是封面的,如果有的话道歉。我在搜索下找不到确切的答案。我所拥有的基本上是3个文件。第一个是主要短语的文本文件,第二个文件是大约1600行和3行(城市,州和邮政编码)的csv文件,第三个文件是带有次要短语的文本文件。
我想要做的是获取文件一(只有一个短语,例如;信誉管理)并将其附加到csv文件中“each”行的开头,然后从csv中删除逗号/制表符文件然后将thrid文本文件追加到行尾(第三个文本文件也只有一个短语,例如;在线声誉公司),然后取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()
如果我取出了secondarykeywordlist,那么我的输出现在就是这样的,我收到错误将其重新输入。
声誉管理Phoenix Arizona 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()
答案 0 :(得分:1)
您需要处理每一行:
类似的东西:
with open("File1",'r') as f:
prefix = f.read().strip()
with open("File", "r") as f:
postfix = "%s\n" % (f.read().strip())
with open("csvfile", "r") as f:
with open("outfile", "w") as g:
for line in f.read():
txt =line.strip().replace(',',' ')
g.write( ' '.join([prefix, txt, postfix])
答案 1 :(得分:1)
为什么不打开第一个和第三个文件,分别从前缀和后缀变量中获取表达式,然后打开第二个文件(1600行)并将处理后的输出写入第四个文件(out.txt - 这将包含你想要的结果)。 代码(在您获取前缀和后缀之后)将是:
f_in = open('file2.txt', 'r')
f_out = open('out.txt', 'w')
for line in f_in.readlines():
f_out.write(prefix + ' ' + line.strip().replace(","," ") + \
" " + suffix + " " + line.split(",")[1]+"\n")
f_in.close()
f_out.close()