使用將整個工作表放入熊貓數(shù)據(jù)框
使用將整個工作表放入熊貓數(shù)據(jù)框,,excel,,,,Excel,,,多虧了panda,我們可以使用“”功能將整個工作表讀入數(shù)據(jù)框我想使用的相同方法。事實上,我的工作簿已經(jīng)打開,我不想使用函數(shù)(順便說一句,執(zhí)行該函數(shù)需要很長時間),而是使用的強(qiáng)大功能將整個工作表保存到數(shù)據(jù)框中事實上,使用,我們可以將一個范圍保存到數(shù)據(jù)幀中。這意味著我必須知道射程的大小。但我想有一個更好(更快)的方法,不是嗎你有什么想法嗎?非常感謝編輯:我想將一張工作表的一個示例轉(zhuǎn)換為數(shù)據(jù)框,就像read_
多虧了panda,我們可以使用“”功能將整個工作表讀入數(shù)據(jù)框
我想使用的相同方法。事實上,我的工作簿已經(jīng)打開,我不想使用函數(shù)(順便說一句,執(zhí)行該函數(shù)需要很長時間),而是使用的強(qiáng)大功能將整個工作表保存到數(shù)據(jù)框中
事實上,使用,我們可以將一個范圍保存到數(shù)據(jù)幀中。這意味著我必須知道射程的大小。但我想有一個更好(更快)的方法,不是嗎
你有什么想法嗎?非常感謝
編輯:我想將一張工作表的一個示例轉(zhuǎn)換為數(shù)據(jù)框,就像那樣
Name Point Time Power Test1 Test2 Test3 Test4 ##
Test 0 1 10 4 24 144
2 20 8 48 288

3 30 12 72 432
4 40 16 96 576
5 50 20 120 720
6 60 24 144 864
7 70 28 168 1008
8 80 32 192 1152
9 90 36 216 1296
10 100 40 240 1440
11 110 44 264 1584
12 120 48 288 1728
您可以使用熊貓閱讀多張圖紙:
excel_file = pd.ExcelFile('myfile.xls')
df1 = excel_file.parse('Sheet1')
df2 = excel_file.parse('Sheet2')
因此,只需依次打開一個文件,從所需的工作表中讀取并處理數(shù)據(jù)幀。
事實上excel引用整個工作表,我可以這樣做:
import xlwings as xw
import pandas as pd
def GetDataFrame(Sheet,N,M):

wb = xw.Workbook.active()
Data=xw.Range(Sheet,(1,1),(N,M)).value
Data=pd.DataFrame(Data)
Data=Data.dropna(how='all',axis=1)
Data=Data.dropna(how='all',axis=0)
return Data
您可以使用內(nèi)置命令將其放在一行中:
df = sht.range('A1').options(pd.DataFrame,
header=1,
index=False,

expand='table').value
我用.read\u Excel花了更多的時間閱讀一個20米的Excel。但的閱讀速度非常快。我將考慮使用讀取并轉(zhuǎn)換為數(shù)據(jù)文件。我想我和所有權(quán)人有同樣的需求。在這四年中做了一些調(diào)整。所以我對第一個回答者的密碼做了一些修改。`
`確實提供了加載整個表單的api。要做到這一點,請使用
used\u range
api讀取整個工作表的使用部分。(當(dāng)然我們不想得到未使用的行值,是嗎?;-))無論如何,這里有一段關(guān)于如何操作的代碼片段:
import pandas as pd
import xlwings as xw
workbook = xw.Book('some.xlsx')
sheet1 = workbook.sheets['sheet1'].used_range.value

df = pd.DataFrame(sheet1)
就這些
歡迎來到SO。為了有更好的機(jī)會及時回答您的問題,請閱讀以下內(nèi)容:請?zhí)峁┮粋€最小的示例,以便我們能夠重現(xiàn)問題并嘗試幫助您。好的,我將舉一個示例。但這不是一個真正的問題。問題是“我怎樣才能輕松地從工作表中獲取信息并將其傳遞到數(shù)據(jù)框中”。(順便說一下,這將花費很長時間來執(zhí)行)“你有沒有一個例子表明比慢?事實上excel引用整個工作表,我使用多個工作簿。在此過程之前,我將所有重要數(shù)據(jù)復(fù)制到一個唯一的工作簿中。因此,很明顯,在多個工作簿之間處理比在多個工作表之間處理需要更多的時間。因此,我將用一個真實的例子來說明整個問題!是的,我已經(jīng)這樣做了,但我正在尋找其他解決方案。
import pandas as pd
import xlwings as xw
workbook = xw.Book('some.xlsx')
sheet1 = workbook.sheets['sheet1'].used_range.value
df = pd.DataFrame(sheet1)