我真的需要使用批處理文件有助於做到以下幾點:翻譯到批處理的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