簡體   English   中英

跳過第一行並在熊貓中使用第二行作為標頭來獲取符號的原始刻度數據時無法讀取 csv

[英]Not able to read csv while skipping first row and using second as header in pandas for raw tick data of symbols

我有許多不同大小的 csv 文件,其中包含某些符號的刻度數據。 這是一個示例文件的圖像。 在此處輸入圖片說明

一切都在以“;”分隔的一列中。 我想以第二行作為標題讀取數據並跳過第一行。 直到這次我已經嘗試了所有關於在跳過第一行並使用第二行作為標題的同時加載 csv 文件的方法。 這是我累了的一些代碼片段

df = pd.read_csv(cwd + folder + name +'.csv',delimiter=';', skip_blank_lines=True, encoding='utf-8', skiprows=[0])

另一個是這樣的

df = pd.read_csv(cwd + folder + name +'.csv',delimiter=';', encoding='utf-8', skiprows=[0], header=1)

並且所有這些的輸出都帶有名為“未命名:0”的單列,數據框中的所有值都為 NaN。 我嘗試過不同的解決方案,例如

Python Pandas read_csv 跳過行但保留標題,但沒有一個對我有用 如果我不跳過第一行並在沒有任何分隔符的情況下讀取文件,那么它會在 Python 中給出 unicodeerror。 如何解決這個問題呢?

在前兩個答案中嘗試了兩個解決方案后,這是我對兩個代碼的輸出

在此處輸入圖片說明

在skiprows中,您需要提供要從csv頂部跳過的行數

使用 utf-16

df = pd.read_csv(cwd + folder + name +'.csv',delimiter=';', encoding='utf-16', skiprows=1)

更多信息:

要檢查編碼,我已在 libreoffice 中檢查。 如果您在其起始窗口中使用 libreoffice 打開,您可以選擇分隔符,其中它還顯示該文件的utf編碼。

@Urvish - 我使用了您在帖子中使用的相同代碼,並且看到輸出是准確的。 請檢查您的文件。

import pandas as pd
df = pd.read_csv("C:\\Users\\user\\Downloads\\sof.csv" ,delimiter=';', skip_blank_lines=True, encoding='utf-8', skiprows=[0])
print(df)

輸出:

            Date    bid    ask  last  volume
2017 06 05   799  149.6  149.7   0.0     0.0
2017 06 05   799  149.6  149.7   0.0     0.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM