将单列 csv 值存储为元组列表(不带尾随逗号)的 python 代码是什么?
What is the python code to store a single column of csv values as a list of tuples (without trailing commas)?
我有一个包含单行值的 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))
您目前正在阅读所有的专栏(即使只有一个专栏),并返回单数元组。
如果没有逗号,您“想要的输出”中的括号没有任何意义。
如果你真的只想要第一列而不是所有列,你需要索引数据框
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"] ]
我有一个包含单行值的 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))
您目前正在阅读所有的专栏(即使只有一个专栏),并返回单数元组。
如果没有逗号,您“想要的输出”中的括号没有任何意义。
如果你真的只想要第一列而不是所有列,你需要索引数据框
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"] ]