4 回答

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
這應(yīng)該有效。您可以lines在代碼中重復(fù)使用該列表,因?yàn)樗淮騺y了。
import random
with open("tmp.csv", "r") as f:
lines = f.readlines()
random.shuffle(lines)
print(lines)

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
import csv
import random
csv_elems = []
with open("MyCSV.csv") as f:
reader = csv.reader(f)
for row_num, row in enumerate(reader):
csv_elems.append(row)
random.shuffle(csv_elems)
print(csv_elems[0])
如您所見(jiàn),我只是在打印第一個(gè)元素,您可以遍歷列表,繼續(xù)洗牌和打印

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
好吧,您可以定義一個(gè)列表,將 csv 文件的所有元素附加到其中,然后將其打亂并打印它們,假設(shè)此列表的名稱(chēng)是temp
import csv
import random
temp = []
with open("your csv file.csv") as file:
reader = csv.reader(file)
for row_num, row in enumerate(reader):
temp.append(row)
random.shuffle(temp)
for i in range(len(temp)):
print(temp[i])

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
為什么最好不要使用 pandas 來(lái)處理 csv?
import pandas as pd
data = pd.read_csv("MyCSV.csv")
要獲得您正在尋找的樣本,只需編寫(xiě):
data.sample() # print one sample
data.sample(5) # to write 5 samples
另外,如果您想將每一行傳遞給一個(gè)函數(shù)。 data_after_function = data.appy(function_name)
在函數(shù)內(nèi)部,您可以將行轉(zhuǎn)換為列表list()
希望這可以幫助!
添加回答
舉報(bào)