我在一個檔案夾中有 8000 個 CSV 檔案。所有 CSV 檔案中的所有標題(即第一行)都相同。我想復制所有 csv 檔案的第二行并粘貼到一個新的 CSV 檔案中,以存盤在其中包括標題。新的 CSV 檔案必須保存在同一檔案夾中。請幫助使用 Python 語言。
我找到了一個 python 程式,它并沒有多大幫助。請幫忙。
import csv
def load_data(filename)
mylist = []
with open(filename) as numbers:
numbers_data = csv.reder(numbers, delimeter = '_')
next()
for row in numbers_data:
mylist.append(row[1])
return mylist
new_list = load_data('csv folder path location')
uj5u.com熱心網友回復:
您的代碼復制第二列,而不是行。
你寧愿需要很少next()沒有for-loop
header = next(numbers_data)
second_row = next(numbers_data)
mylist.append(second_row)
但是您需要for-loop 來獲取檔案名并使用不同的檔案運行此函式
for filename in os.listdir(folder):
完整代碼(但未經測驗)
import csv
def get_second_row(filename)
with open(filename) as fh:
reader = csv.reader(fh)
header = next(reader) # first row
second_row = next(reader) # second row
return header, second_row
# --- main ---
folder = '/some/folder/with/csv'
header = None
all_rows = []
for filename in os.listdir(folder)
if filename.lower().endswith('.csv'):
full_path = os.path.join(folder, filename)
header, row = get_second_row(full_path)
all_rows.append(row)
# ---
with open('output.csv') as fh:
writer = csv.writer(fh)
# - write header -
writer.writerow(header) # `writerow` without `s` - to write single row
# - write all rows at once -
writer.writerows(all_rows) # `writerows` with `s` - to write list of rows
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/487944.html
標籤:Python python-3.x CSV
上一篇:使用唯一ID從excel中的多個作業表中獲取資料并使用python保存到CSV
下一篇:使用Python從一個檔案夾中讀取excel檔案并輸出到另一個檔案夾中的csv檔案時收到PermissionError?
