【发布时间】:2020-02-16 01:09:33
【问题描述】:
我正在尝试读取一个 .csv 文件,该文件的行如下所示:
"Red","Apple, Tomato".
我想将该行读入字典,使用“Red”作为键,使用“Apple,Tomato”作为定义。我也想在不使用任何需要导入的库或模块的情况下做到这一点。
我面临的问题是它试图将该行拆分为 3 个单独的部分,因为代码拆分的“Apple”和“Tomato”之间有一个逗号。这就是我现在拥有的:
file_folder = sys.argv[1]
file_path = open(file_folder+ "/food_colors.csv", "r")
food_dict = {}
for line in file_path:
(color, description) = line.rstrip().split(',')
print(f"{color}, {description}")
但这给了我一个错误,因为它有 3 条数据,但我只给它 2 个变量来存储信息。我怎样才能让它忽略字符串文字中的逗号?
【问题讨论】:
-
我也想这样做而不使用任何需要导入的库或模块。 为什么?您始终可以编写自己的 CSV 解析器,但除非是出于娱乐/教育目的,否则我不明白这一点。
-
您可以使用
color, *description = line.rstrip().split(',')之类的方式收集列表中剩余的拆分字符串。请注意description之前的星号,它会成为一个列表。参见示例here。 -
@AMC 这是学校的作业,这是限制之一
-
@BrentMB 啊,一个家庭作业问题。你需要更具体,然后,我们不能为你做你的任务。相关:meta.stackoverflow.com/questions/334822/….
-
@PaulRooney 这是解决此问题的好方法。然后我可以将字符串附加到列表中,将其从列表转换回字符串。谢谢!