python - 如何从 CSV 文件中导入数据并将其存储在变量中?

标签 python csv python-3.x permutation python-itertools

我是 python 3 的新手,我边走边学。我认为有人可以帮助我解决一个基本问题:如何将 CSV 文件中的文本存储为变量以供稍后在代码中使用。所以这里的想法是将 CSV 文件导入 python 解释器:

import csv
with open('some.csv', 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        ...

然后从该文件中提取文本并将其存储为变量(即 w = ["csv file text"]),以便稍后在代码中用于创建排列:

print (list(itertools.permutations(["w"], 2)))

如果有人可以帮助和解释这个过程,我将不胜感激,因为我真的很努力学习。如果需要更多解释,请告诉我!

最佳答案

itertools.permutations() 需要一个可迭代对象(例如列表)和一个长度作为其参数,因此您的数据结构需要反射(reflect)这一点,但您还需要定义您要尝试的内容在这里实现。例如,如果您想读取 CSV 文件并在每个单独的 CSV 字段上生成排列,您可以尝试这样做:

import csv
with open('some.csv', newline='') as f:
    reader = csv.reader(f)
    w = []
    for row in reader:
        w.extend(row)

print(list(itertools.permutations(w, 2)))

这里的关键是创建一个可以传递给 itertools.permutations() 的平面列表 - 这是通过将 w 初始化为一个空列表来完成的,并且然后使用 CSV 文件每一行的元素/字段扩展其元素。

注意:正如@martineau 所指出的,原因已解释 here ,当与 Python 3 csv 模块一起使用时,应使用 newline='' 打开文件。

关于python - 如何从 CSV 文件中导入数据并将其存储在变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23903094/

相关文章:

python - 在验证器文件中导入模型时,Django 中的模型导入错误

mysql - 将 MySQL 输出格式化为有效的 CSV 或 XLSX

python - 使用命令行 waitress-serve 进行日志记录

python - Pywinauto - 如何阅读弹出窗口中的文本来识别它?

python - 字典中类内的函数

python - Pandas DataFrame 日期系列到列表的转换

python - 重写的 QGraphicsView keyPressEvent 从聚焦的 QGraphicsWidgets 窃取事件

python - 如何确定找到的两个键是否属于字典列表中的同一字典

vim - 为什么 Vim 会自动将逗号分隔的 CSV 更改为管道?

java - 使用java从sqlserver将大数据导出到CSV