Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,如何逐字阅读,但将每个单词赋予一个值,以及如何在公用项之间赋予一组值_Python - Fatal编程技术网

在python中,如何逐字阅读,但将每个单词赋予一个值,以及如何在公用项之间赋予一组值

在python中,如何逐字阅读,但将每个单词赋予一个值,以及如何在公用项之间赋予一组值,python,Python,我知道标题不好,但很难总结。我有一个包含以下内容的文本文件: Jeffery, Ben, 5/5/2020, 2000 testinglast, testfirst, 17/5/2020, 240 我正在尝试编写软件,将其格式化如下: Last name : Jeffery First name: Ben date : 5/5/2020 Points: 2000 我已经能够自己打印出每个单词,没有任何共同点,但仅此而已,因为我需要通过检查器运行每个值。谢谢你的帮助 这是我最接近它的作品,但它

我知道标题不好,但很难总结。我有一个包含以下内容的文本文件:

Jeffery, Ben, 5/5/2020, 2000
testinglast, testfirst, 17/5/2020, 240
我正在尝试编写软件,将其格式化如下:

Last name : Jeffery
First name: Ben
date : 5/5/2020
Points: 2000
我已经能够自己打印出每个单词,没有任何共同点,但仅此而已,因为我需要通过检查器运行每个值。谢谢你的帮助

这是我最接近它的作品,但它贯穿了整行,而不是每一个单词

def main():
    emp_file = open('test.txt', 'r')
    name = emp_file.readline()
    while name != '':
        id_num = emp_file.readline()
        dept = emp_file.readline()

        name = name.rstrip('\n')
        id_num = id_num.rstrip('\n')
        dept = dept.rstrip('\n')

        print('name first  :', name.replace(',',''))
        print('name last  :', id_num.replace(',',''))
        print('date :', dept.replace(',',''))
        print('rewards :', dept.replace(',',''))
        print()

        name= emp_file.readline()

    emp_file.close()

main() 

假设您有一个包含以下行的文件
tmp.txt

Jeffery, Ben, 5/5/2020, 2000
testinglast, testfirst, 17/5/2020, 240
这将为您提供一些入门帮助:

with open('tmp.txt','r') as f:
    for line in f:
        last_name, first_name, date, points = line.split(',')
        print(f'Last name: {last_name}\n'
              f'First name: {first_name}\n'
              f'Date: {date}\n'
              f'Points: {points}\n')
输出 解释 这个小片段执行以下操作

  • 以读取权限打开文件(
    以打开(…,'r')
  • 逐行读取文件(
    用于f中的行
  • 在逗号处拆分行(
    行。拆分(',')
    ,并将结果列表添加到变量(
    姓氏、姓氏、日期、点数)
  • 使用
    f字符串格式化打印变量

假设您有一个包含以下行的文件
tmp.txt

Jeffery, Ben, 5/5/2020, 2000
testinglast, testfirst, 17/5/2020, 240
这将为您提供一些入门帮助:

with open('tmp.txt','r') as f:
    for line in f:
        last_name, first_name, date, points = line.split(',')
        print(f'Last name: {last_name}\n'
              f'First name: {first_name}\n'
              f'Date: {date}\n'
              f'Points: {points}\n')
输出 解释 这个小片段执行以下操作

  • 以读取权限打开文件(
    以打开(…,'r')
  • 逐行读取文件(
    用于f中的行
  • 在逗号处拆分行(
    行。拆分(',')
    ,并将结果列表添加到变量(
    姓氏、姓氏、日期、点数)
  • 使用
    f字符串格式化打印变量
使用

代码

import csv

# Name of each field
fieldnames = ['Last name', 'First name', 'date', 'Points']
with open('data.csv', newline='') as csvfile:
  # Get csv reader as described in link above
  reader = csv.DictReader(csvfile, fieldnames = fieldnames)
  for row in reader:
    # row will be a dictionary of name/value pairs.  
    # name will be field name, value will be value for row
    for name in fieldnames:
      # show each field on a separate line
      print(f'{name} : {row[name]}')
输入

Last name : Jeffery
First name :  Ben
date :  5/5/2020
Points :  2000
Last name : testinglast
First name :  testfirst
date :  17/5/2020
Points :  240
文件data.csv

Jeffery, Ben, 5/5/2020, 2000
testinglast, testfirst, 17/5/2020, 240
输出

Last name : Jeffery
First name :  Ben
date :  5/5/2020
Points :  2000
Last name : testinglast
First name :  testfirst
date :  17/5/2020
Points :  240
使用

代码

import csv

# Name of each field
fieldnames = ['Last name', 'First name', 'date', 'Points']
with open('data.csv', newline='') as csvfile:
  # Get csv reader as described in link above
  reader = csv.DictReader(csvfile, fieldnames = fieldnames)
  for row in reader:
    # row will be a dictionary of name/value pairs.  
    # name will be field name, value will be value for row
    for name in fieldnames:
      # show each field on a separate line
      print(f'{name} : {row[name]}')
输入

Last name : Jeffery
First name :  Ben
date :  5/5/2020
Points :  2000
Last name : testinglast
First name :  testfirst
date :  17/5/2020
Points :  240
文件data.csv

Jeffery, Ben, 5/5/2020, 2000
testinglast, testfirst, 17/5/2020, 240
输出

Last name : Jeffery
First name :  Ben
date :  5/5/2020
Points :  2000
Last name : testinglast
First name :  testfirst
date :  17/5/2020
Points :  240

逐行迭代此文件,然后在
上拆分并分配值?你能添加一些代码吗?你尝试了什么?看看CSV模块:。特别是
DictReader
可能有用。逐行迭代此文件,然后在
上拆分并分配值吗?你能添加一些代码吗?你做了什么ied?看看CSV模块:。特别是
DictReader
可能很有用。非常感谢您的解释,我想我主要错过了(line.split(,)函数,非常感谢!非常感谢您的解释,我想我主要错过了(line.split(,)函数,非常感谢!