所以我試圖找到如何打開 csv 檔案并對其中的所有詳細資訊進行排序...
所以 CSV 檔案中包含的資料示例是...
2,8dac2b,ewmzr,jewelry,phone0,9759243157894736,us,69.166.231.58,vasstdc27m7nks3
1,668d39,aeqok,furniture,phone1,9759243157894736,in,50.201.125.84,jmqlhflrzwuay9c
3,622r49,arqek,doctor,phone2,9759544365415694736,in,53.001.135.54,weqlhrerreuert6f
所以我試圖讓一個函式sortCSV(File)來打開CSV檔案,并進行排序它的基礎上的第一個數字,這是0,1 ....
所以輸出應該是
1,668d39,aeqok,furniture,phone1,9759243157894736,in,50.201.125.84,jmqlhflrzwuay9c
2,8dac2b,ewmzr,jewelry,phone0,9759243157894736,us,69.166.231.58,vasstdc27m7nks3
3,622r49,arqek,doctor,phone2,9759544365415694736,in,53.001.135.54,weqlhrerreuert6f
到目前為止,這是我的代碼,這顯然不起作用....
import csv
def CSV2List(csvFilename: str):
f = open(csvFilename)
q = list(f)
return q.sort()
我應該對我的代碼進行哪些更改以確保我的代碼有效?
uj5u.com熱心網友回復:
using pandas,將第一列設定為索引并使用 sort_index 根據您的索引列進行排序:
import pandas as pd
file_path = '/data.csv'
df = pd.read_csv(file_path,header=None,index_col=0)
df = df.sort_index()
print(df)
uj5u.com熱心網友回復:
有多種方法可以解決這個問題,但最簡單的方法之一是安裝 Pandas ( https://pandas.pydata.org/ )。
首先,您很可能需要每列的一些標題,這些標題應該位于 CSV 檔案的第一行。添加列標題并安裝 pandas 后:
與熊貓:
import pandas as pd
dataframe = pd.read_csv(filepath, index=0)
這會將第一列設定為索引列,并將對索引進行排序。
我不得不處理格式困難的 CSV:s(又名匯出表單 excel 等)的另一種方法是將檔案作為常規檔案讀取,然后迭代行以自行處理它們。
final_data = []
with open (filepath, "r") as f:
for row in f:
# Split the row
row_data = row.split(",")
# Add to final data array
final_data.append(row_data
# This sorts the final data based on first row
final_data.sort(key = lambda row: row[0])
# This returns a sorted list of rows of your CSV
return final_data
uj5u.com熱心網友回復:
試試 csv.reader(檔案名)
import csv
def CSV2List(csvFilename: str):
f = open(csvFilename)
q = csv.reader(f)
return q.sort(key=lambda x: x[0])
uj5u.com熱心網友回復:
使用csv模塊:
import csv
def csv_to_list(filename: str):
# use a context manager here
with open(filename) as fh:
reader = csv.reader(fh)
# convert the first item to an int for sorting
rows = [[int(num), *row] for num, *row in reader]
# sort the rows based on that value
return sorted(rows, key=lambda row: row[0])
uj5u.com熱心網友回復:
這不是處理 CSV 檔案的最佳方式,但是:
def CSV2List(csvFilename: str):
f = open(csvFilename,'r')
l = []
for line in f:
l.append(line.split(','))
for item in l:
item[0] = int(item[0])
return sorted(l)
print(CSV2List('data.csv'))
但是我可能會改用熊貓,它是一個很棒的模塊
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/376168.html
