[英]Pandas adding header to the output file after merging multiple CSV files
import pandas as pd
import os
file1 = 'https://public.fyers.in/sym_details/NSE_CM.csv'
file2 = 'https://public.fyers.in/sym_details/NSE_FO.csv'
file3 = 'https://public.fyers.in/sym_details/BSE_CM.csv'
CHUNK_SIZE = 10 ** 6
csv_file_list = [file1, file2, file3]
output_file = "/content/output.csv"
for csv_file_name in csv_file_list:
skipRows = [2022,92805]
chunk_container = pd.read_csv(csv_file_name, chunksize=CHUNK_SIZE, skiprows=skipRows)
for chunk in chunk_container:
headerList =["fytoken", "symbol", "instrumentType","lotSize","tickSize","ISIN","tradingSession","lastUpdate","expiryDate","symbolTicker","exchange","segment","scripCode","scripName","scripToken","strikePrice","optionType"]
chunk.to_csv(output_file,header=headerList, mode="a", index=False)
我想合並三個 CSV 文件並將標題添加到輸出文件。 但它在每個 CSV 的開頭(在輸出文件中)返回帶有標題的輸出文件。
您正在閱讀塊中的內容並為每個塊附加header
。
相反,請嘗試以下操作:
import pandas as pd
file1 = 'https://public.fyers.in/sym_details/NSE_CM.csv'
file2 = 'https://public.fyers.in/sym_details/NSE_FO.csv'
file3 = 'https://public.fyers.in/sym_details/BSE_CM.csv'
CHUNK_SIZE = 10 ** 6
csv_file_list = [file1, file2, file3]
output_file = "./content/output.csv"
headerList = ["fytoken", "symbol", "instrumentType", "lotSize", "tickSize", "ISIN", "tradingSession",
"lastUpdate", "expiryDate", "symbolTicker", "exchange", "segment", "scripCode", "scripName",
"scripToken", "strikePrice", "optionType"]
df = pd.DataFrame(columns=headerList)
df.to_csv(output_file, index=False)
for csv_file_name in csv_file_list:
skipRows = [2022, 92805]
with pd.read_csv(csv_file_name, chunksize=CHUNK_SIZE, skiprows=skipRows) as chunk_container:
for chunk in chunk_container:
chunk.to_csv(output_file, header=None, mode="a", index=False)
在這里,我們預先創建了一個只有headers
的 csv 文件,並將從上述 URL 讀取的數據附加到同一個文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.