使用批处理文件执行以下操作时,我确实需要帮助:
我需要逐行读入一个文本文件,并且,对于给定的CSV文件的每个条目(以文本文件行中找到的元素开始),将其写入一个新的CSV文件。在
或者,换句话说:
阅读以下内容
example.csv
Page, Pageviews, Bounce Rate, /category/apples, 1029, 67%, /category/brussel-sprout, 3409, 92%, /category/orange, 1233, 87%
然后逐行读取以下文本文件:
^{pr2}$并创建此文件:
new.csv
Page, Pageviews, Bounce Rate, /category/apples, 1029, 67%, /category/orange, 1233, 87%
到目前为止,我已经通过一个批处理文件来处理这个项目,该文件获取列表的每个单独地址,检查它是否具有特定的头,然后将扩展名写入列表中。不幸的是,这还不够,因为我还需要从原始的CSV重新生成表——但只需要具有头的表。我试图通过Python来实现这一点,但事实证明它太麻烦了(而且系统边界使得编写Python变得不可行)。如果你想看代码,你可以通过我的个人资料点击我的问题,但他们不关心这一块。我要做的是这一点,我要求清晰和想法,因为我的优势不在于BAT而在于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)
Windows(DOS)批处理语言不适合这种任务。虽然这可能是可能的,但最终的脚本肯定会很麻烦、复杂和令人困惑。在
Python是一个很好的解决方案,在帖子中并不清楚您为什么不想使用它。如果您关心的是安装Python,请考虑py2exe,它允许您创建独立的Python可执行文件。在
我只写你需要的批处理文件。但是,我不知道.csv文件格式,所以我假设了几个细节。以下是我的假设:
这是批处理文件:
就这样。请试试看,有什么问题就告诉我。在
编辑
我刚意识到一个错误新建.csv类别放置在分隔的行中。要解决此问题,请进行以下更改:
改变这些线条
^{pr2}$由这些人
换行
通过这个
另外,为了避免某些特殊字符出现错误,请在此行中插入引号
这边走
相关问题 更多 >
编程相关推荐