我真的需要使用批处理文件有助于做到以下几点:翻译到批处理的CSV程序
我需要按行文本文件中的行读取,并且对于给定的CSV的每个条目文件,该文件以在文本文件行中找到的元素开始,将其写入新的CSV文件。
或者,换句话说:
阅读以下
example.csv
Page, Pageviews, Bounce Rate, /category/apples, 1029, 67%, /category/brussel-sprout, 3409, 92%, /category/orange, 1233, 87%
然后逐行读取以下文本文件行:
example.txt
/category/apples
/category/orange
创建此文件:
new.csv
Page, Pageviews, Bounce Rate, /category/apples, 1029, 67%, /category/orange, 1233, 87%
到目前为止,我已经通过一个批处理文件来处理这个项目,该文件将列表中的每个单独地址,检查它是否具有特定标题,然后将扩展名写入列表中。不幸的是,这还不够,因为我还需要从原始CSV中重新生成表格 - 但仅限于带有标题的表格。我试图通过Python来做到这一点,但它太麻烦了(而且系统边界使得编写Python无法实现)。如果你想看到代码,你可以通过我的个人资料点击我的问题,但他们不关心这件事。我剩下要做的就是这样,我要求澄清和想法,因为我的优势不在于英美烟草公司,而在于C++(不,这不是一种选择)。
谢谢你的帮助。这个社区(有一些例外)证明了学习宝贵经验和推动我取得成功的极好理由。
这是我在那里与Python领导:
import csv
lines = []
with open('output.txt','r') as f:
for line in f.readlines():
lines.append(line[:-1])
with open('corrected.csv','w') as correct:
writer = csv.writer(correct, dialect = 'excel')
with open('input.csv', 'r') as mycsv:
reader = csv.reader(mycsv)
for row in reader:
if row[0] not in lines:
writer.writerow(row)
如果你认为在Python这样做很麻烦,我想不通为什么你认为批处理文件会更好。你有没有其他的选择,比如PowerShell? – jdigital
不要这样想,不。是否没有简单的方法来读取CSV文件,就像文本文件一样,并且说出类似于1.检查您所在的对象是否=文本文件2中的任何文本行(如果是)。将对象和所有五个对象写入新文件2(如果否)。移动5个对象并重复。 –
哦,上帝,Windows批处理文本处理?在确定如何让Python在你的目标上运行的过程中,你的努力会更好。 – Chriszuma