[英]How to keep the remove the second column from a .csv file and save the rest of the file to a .txt file in Python
[英]How to read a column without header from csv and save the output in a txt file using Python?
我有一個包含許多列的文件“TAB.csv”。 我想從 CSV 文件中選擇一列沒有標題(該列的索引為 3)。 然后創建一個新的文本文件“NEW.txt”並在那里寫入該列(不帶標題)。
下面的代碼讀取該列,但帶有標題。 如何省略標題並將該列保存在新的文本文件中?
import csv
with open('TAB.csv','rb') as f:
reader = csv.reader(f)
for row in reader:
print row[3]
這是@tmrlvi 所說的解決方案:它通過下一個函數跳過第一行(標題):
import csv
with open('TAB.csv','rb') as input_file:
reader = csv.reader(input_file)
output_file = open('output.csv','w')
next(reader, None)
for row in reader:
row_str = row[3]
output_file.write(row_str + '\n')
output_file.close()
嘗試這個:
import csv
with open('TAB.csv', 'rb') as f, open('out.txt', 'wb') as g:
reader = csv.reader(f)
next(reader) # skip header
g.writelines(row[3] + '\n' for row in reader)
enumerate
是一個很好的函數,它返回一個元組。 它可以在運行迭代器時查看索引。
import csv
with open('NEW.txt','wb') as outfile:
with open('TAB.csv','rb') as f:
reader = csv.reader(f)
for index, row in enumerate(reader):
if index > 0:
outfile.write(row[3])
outfile.write("\n")
另一種解決方案是從文件中讀取一行(以跳過標題)。
這是一個老問題,但我想補充一下關於 Pandas 庫的答案,我想說。 最好將 Pandas 庫用於此類任務,而不是編寫自己的代碼。 Pandas 的簡單代碼如下:
import pandas as pd
reader = pd.read_csv('TAB.csv', header = None)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.