亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以從 Python 中的 csv 隨機打印行嗎?

我可以從 Python 中的 csv 隨機打印行嗎?

元芳怎么了 2022-06-14 16:59:01
我正在嘗試從 csv 隨機打印行。假設 csv 有以下 10 行 -1,One2,Two3,Three4,Four5,Five6,Six7,Seven8,Eight9,Nine10,Ten如果我編寫如下代碼,它將按照與 CSV 中相同的順序將每一行打印為列表import csvwith open("MyCSV.csv") as f:    reader = csv.reader(f)    for row_num, row in enumerate(reader):        print(row)相反,我希望它是隨機的。它現在只是一個印刷品。稍后我會將每一行作為列表傳遞給函數。
查看完整描述

4 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

這應該有效。您可以lines在代碼中重復使用該列表,因為它被打亂了。


import random


with open("tmp.csv", "r") as f:

    lines = f.readlines()


random.shuffle(lines)

print(lines)


查看完整回答
反對 回復 2022-06-14
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

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])

如您所見,我只是在打印第一個元素,您可以遍歷列表,繼續洗牌和打印


查看完整回答
反對 回復 2022-06-14
?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

好吧,您可以定義一個列表,將 csv 文件的所有元素附加到其中,然后將其打亂并打印它們,假設此列表的名稱是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])


查看完整回答
反對 回復 2022-06-14
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

為什么最好不要使用 pandas 來處理 csv?

import pandas as pd

data = pd.read_csv("MyCSV.csv")

要獲得您正在尋找的樣本,只需編寫:

data.sample() # print one sample data.sample(5) # to write 5 samples

另外,如果您想將每一行傳遞給一個函數。 data_after_function = data.appy(function_name) 在函數內部,您可以將行轉換為列表list()

希望這可以幫助!


查看完整回答
反對 回復 2022-06-14
  • 4 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號