[英]How do I take specific tables from a CSV and write a new file in Python?
[英]How to take inputs from a CSV file and write a specific output with Python?
我有一個包含以下數據的CSV文件:
a,b,c,d,e,f
0,0,AER,0,DME,0
0,0,ASF,0,LED,0
如何從C和E列獲取輸入,並將其輸出為類似以下內容的內容:
I like [column C] and [column E]
I like [column C] and [column E]
例:
I like AER and DME
I like ASF and LED
現在我有以下代碼:
import csv
header1 =['c']
header2 =['e']
with open('routes2.csv', 'rb') as csvfilein, open('out.csv', 'wb') as csvfileout:
reader = csv.DictReader(csvfilein)
writer1 = csv.DictWriter(csvfileout, header1, extrasaction='ignore')
writer2 = csv.DictWriter(csvfileout, header2, extrasaction='ignore')
for line in reader:
writer1.writerow(line), writer2.writerow(line)
我一直試圖找出如何將文本附加到C和E列的數據中。我該怎么做?
您可以使用字符串格式設置並提供由csv.DictReader
返回的row
對象,例如:
with open('routes2.csv', 'rb') as csvfilein:
reader = csv.DictReader(csvfilein)
for row in reader:
print 'I love {c} and {e}'.format(**row)
像這樣?
with open('routes2.csv', 'rb') as csvfilein:
reader = csv.DictReader(csvfilein)
for line in reader:
print "I like %s and %s" % (line["c"], line["e"])
輸出:
我喜歡AER和DME
我喜歡ASF和LED
您的輸出文件僅包含純文本,因此不是.csv文件,因此無需使用csv.DictWriter
來創建它。 如圖所示,將print
語句的輸出重定向到文件也很容易。
import csv
header1 = ['c']
header2 = ['e']
format_specifier = 'I like %({0[0]})s and %({1[0]})s'.format(header1, header2)
with open('routes2.csv', 'rb') as csvfilein, open('out.txt', 'w') as fileout:
for row in csv.DictReader(csvfilein):
print >> fileout, format_specifier % row
嘗試:
import csv
header1 =['c']
header2 =['e']
with open(r'<input_file_path>', 'rb') as csvfilein, open(r'<output_file_path>', 'wb') as csvfileout:
reader = csv.DictReader(csvfilein)
for line in reader:
csvfileout.write("I like "+line.get(header1[0])+" and "+line.get(header2[0])+"\n")
輸出:
I like AER and DME
I like ASF and LED
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.