根据用户输入的条件打印 .csv 中的行

2023-12-23

我是 python 新手,正在寻找有关我正在执行的任务的指导。

我正在导入一个 csv 文件,如下表所示。

invoice_id,customer_first_name,customer_last_name,part_number,quantity,total

18031,Hank,Scorpio,367,1,2.63
54886,Max,Power,171,3,50.79
19714,Jonathan,Frink,179,2,7.93
19714,Jonathan,Frink,378,2,32.34
22268,Gil,Gunderson,165,2,47.15
87681,Lionel,Hutz,218,1,50.83
84508,Lurleen,Lumpkin,257,1,81.95
34018,Lionel,Hutz,112,3,88.88
34018,Lionel,Hutz,386,3,86.04
34018,Lionel,Hutz,216,1,53.54
66648,Patty,Bouvier,203,3,70.47

我只想打印基于用户输入的条件的每一行。例如,如果用户输入 lname,然后输入 Hutz,则会打印出以下内容。

87681,Lionel,Hutz,218,1,50.83
34018,Lionel,Hutz,112,3,88.88
34018,Lionel,Hutz,386,3,86.04
34018,Lionel,Hutz,216,1,53.54
4 records found.

这就是我到目前为止所拥有的......

salesdatafile= None
while True:
    salesdatafilename=input("Enter the name of the file:")
    try:
        salesdata= open(salesdatafilename, 'r')
        break
    except FileNotFoundError:
        print("{0} was not found".format ( salesdatafilename ))

search=input("Do you want to search by invoice id or lname? Please type id or lname: ")
idsearch=salesdata.readline() 

if search== 'id':
    idnumber=print(int(input('Please enter Id to search: ')))
    while idsearch != '':
        if idsearch== idnumber:
            print(idsearch)

else:
    lname=print(input('Please enter your last name: '))
    while idsearch != '':
        if idsearch== lname:
            print(idsearch)

打印出来的只是用户输入的lname或id。


Python 有一个内置的 csv 模块,您应该使用它。查看下面的示例代码:

import csv
salesdatafilename = r"path/to/file.txt"
data = csv.reader(open(salesdatafilename))
last_name_to_look_for = "Lionel"
for invoice_id, customer_first_name, customer_last_name, part_number, quantity, total in data:
     if customer_last_name == last_name_to_look_for:
        print(invoice_id, customer_first_name, customer_last_name, part_number, quantity, total)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据用户输入的条件打印 .csv 中的行 的相关文章

  • 使用 JSON 将数据从 Python 导出到 Tableau?

    如何以表格形式从 Python 获取 400 万行和 28 列 我假设 基于搜索 我应该使用 JSON 格式 这种格式可以处理大量数据并且足够快 我制作了 12 行数据的子集并尝试使其正常工作 好消息是 它正在发挥作用 坏消息 不是我想要的
  • Python XLWT调整列宽

    XLWT 的易用性给我留下了深刻的印象 但有一件事我还没有弄清楚该怎么做 我正在尝试将某些行调整为显示所有字符所需的最小宽度 换句话说 如果双击单元格之间的分隔线 excel 会做什么 我知道如何将列宽调整为预定量 但我不确定如何确定显示所
  • AttributeError:“函数”对象没有属性“编译”

    我一直面临这个属性错误 有什么想法可以解决它吗 def model input shape model keras Sequential model add keras layers LSTM 64 input shape 1 9 retu
  • 如何针对 Heroku 路由器的代理/缓冲情况优化 uWSGI?

    我在 Heroku 的生产中使用 uWSGI 已有一年多了 它似乎比 Gunicorn 处理所有事情都要好得多 随着我们的流量扩大 我试图更好地理解heroku的路由器和uWSGI之间的接口 以优化和防止问题 但它对我来说仍然相当不透明 我
  • ibapi nextValidId 并不总是被调用

    我构建了一个小型 ibapi python 应用程序来运行一些策略 同时注意保持与 tws 的连接 如果 tws 处于非活动状态 python 应用程序将启动并等待 并在 tws 启动时连接到 tws 但这是我的问题 nextValidId
  • AMLS 实验运行停留在“正在运行”状态

    我运行了 Azure 机器学习服务实验 并使用 Jupyter Notebook 记录了神经网络损失 日志记录工作正常 神经网络训练也按预期完成 但实验一直停留在运行状态 关闭计算资源不会关闭实验运行 我无法从实验面板取消它 此外 运行没有
  • 对训练和测试数据帧使用相同的标签编码器

    我有 2 个不同的 csv 其中包含训练数据和测试数据 我从这些 train features df 和 test features df 创建了两个不同的数据帧 请注意 测试和训练数据有多个分类列 因此我需要对它们应用 labelEnco
  • 如何从数据存储区刷新 NDB 实体?

    我希望能够在我的代码调用的测试中断言Model put 对于已修改的实体 不幸的是 似乎正在进行一些缓存 例如以下代码 from google appengine ext import ndb class MyModel ndb Model
  • 在Python中绘制像素的最佳方法[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想知道 用 x 和 y 值在 python 中绘制像素的最简单方法是什么 可能最简单的方法是使用PIL http effbot org i
  • OSMNX - 边缘的哪个“部分”被认为是最近的

    我正在使用 OSMNX 中的 returned edges 函数 我不清楚在进行此计算时使用边缘的哪个 部分 它是边缘的任何部分吗 是中间点吗 对于网络中的长边来说 这会产生很大的差异 这取决于您如何参数化该函数 来自nearest edg
  • 如何使用 BeautifulSoup 排除表中的某些行?

    我已经从表格中获得了所需的数据 但不想要各个玩家统计数据之间的缩写 Rk Pos Name 等 如何在保留所需数据的同时排除这些数据 包含缩写的行被归类为 thead 但我不知道如何使用该信息来跳过它 我知道玩家的数据都被压缩在一起 但现在
  • matplotlib 示例代码不适用于 python 虚拟环境

    我正在尝试在 matplotlib 中显示图像的 x y z 坐标 示例代码 http matplotlib org examples api image zcoord html在全局 python 安装上工作得很好 当我移动光标时 x y
  • 从 paramiko 获取 PID

    我找不到一个简单的答案 我正在使用 paramiko 远程登录并执行多个进程 我需要每个进程的 PID 以便稍后检查它们 paramiko 中似乎没有函数来获取执行命令的 PID 所以我尝试使用以下命令 stdin stdout stder
  • 缓存 pandas 数据框的最佳方法?

    昨天 我经历了惨痛的教训 将 pandas 数据帧保存到 csv 以供以后使用是一个坏主意 我有一个包含 130k 条推文的数据框 其中数据框的一行是list的推文 当我将数据保存到 CSV 然后重新加载数据帧时 数据帧的行现在是字符串类型
  • 如何在Python中生成0-1矩阵的所有可能组合?

    如何生成大小为 K N 的 0 1 矩阵的所有可能组合 例如 如果我取 K 2 和 N 2 我会得到以下组合 combination 1 0 0 0 0 combination 2 1 0 0 0 combination 3 0 1 0 0
  • Python Selenium 将内容添加到 pandas 数据帧

    我正在尝试循环list用于抓取内容的邮政编码this url http kadastralekaart com 但我面临着错误 例如TimeoutException and StaleElementReferenceException 我该
  • Python 生成器每次调用都会产生相同的值

    我希望这个生成器生成列表中每个连续值的余弦 但每次都得到相同的值 import math angles range 0 361 3 calculate x coords def calc x angle list for a in angl
  • 从 NumPy、matplotlib 包导入 python 子模块有什么区别[重复]

    这个问题在这里已经有答案了 当我尝试使用时pyplot from matplotlib import matplotlib print matplotlib pyplot just checking 它给了我AttributeError m
  • MySQL:进行基本搜索

    我的数据库中有一个名称表 我希望对其进行模糊搜索 例如我的数据库包含 Name ID John Smith 1 Edward Smith 2 Gabriel Gray 3 Paul Roberts 4 目前 当我通过 python 搜索数据
  • 在 QThread.exit() 上立即停止处理事件队列

    我正在构建一个 Qt GUI 应用程序 它使用 QThread QObject 组合充当在主线程之外执行操作的工作人员 Via moveToThread QObject 被移动到 QThread 中 这样 我的工作线程就可以拥有在事件循环

随机推荐