我有一個包含單行值的 csv 檔案。我想將其保存為元組串列,如下所示。每當我嘗試這樣做時,它都會在每個元組中使用尾隨逗號存盤它。
我想要的是:
[('mdl_analytics_models'),('mdl_assignment_upgrade'), ('mdl_assignment'), ('mdl_user')]
而我得到的是:
[('mdl_analytics_models',), ('mdl_assignment_upgrade',), ('mdl_assignment',), ('mdl_user',)]
假設我的 csv 檔案如下所示:
| tablename |
| -------- |
| mdl_analytics_models |
| mdl_assignment_upgrade |
|mdl_assignment|
|mdl_user|
我已經從類似的問題中嘗試了這些代碼片段,這些代碼片段給了我帶有尾隨逗號的輸出:
import pandas as pd
# Create a dataframe from csv
df = pd.read_csv('data.csv', delimiter=',')
# Create a list of tuples for Dataframe rows using list comprehension
list_of_tuples = [tuple(row) for row in df.values]
# Print list of tuple
print(list_of_tuples)
with open('data.csv', 'r') as read_obj:
# pass the file object to reader() to get the reader object
csv_reader = reader(read_obj)
# Pass reader object to list() to get a list of lists
data = list(zip(csv_reader))
uj5u.com熱心網友回復:
您當前正在閱讀所有列(即使只有一個),并回傳單數元組。
“想要的輸出”中的括號沒有逗號就沒有任何意義。
如果您真的只想要第一列而不是所有列,則需要索引資料框
df = pd.read_csv('data.csv', delimiter=',')
# list of strings
tables = list(df["tablename"])
# list of single tuples
table_tuples = [ (t,) for t in df["tablename"] ]
要在字串中獲取括號,請將其格式化(或先在列上使用 pandas 應用函式),然后收集
tables = [ f"({t})" for t in df["tablename"] ]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/483589.html
