如何在文本文件中查找和替换行?

vik1245

这是我的数据库,名为myDB.txt

28273139
iPhone
5.50
30
5
35
81413852
Book
1.50
43
10
55

文本文件数据库遵循以下格式

Product Code
Product Name
Price
Current Stock
Reorder Stock (the lowest the stock can go)
Target Stock

现在,我要更新iPhone数据。这是iPhone数据。

28273139
iPhone
5.50
30
5
35

它使用8位产品代码来标识产品。

我写了下面的代码。

userCode = "28273139"
newstock = "29"

database = open('myDB.txt','r+')
while(str(userCode) not in next(database)):
    pass
else:
    for i in range(3):
        line = next(database)
        replace = line.replace(line,newstock)
        database.write(replace)

我想将列表的第4个值从30更改为29,我将其声明为变量newstock。该程序向下移动3行,因为数据库中每个产品的格式都相同,并用此新值替换该行。

我需要更新iPhone数据的结果-

28273139
iPhone
5.50
29
5
35

但是,此方法不起作用。
我每次都会收到一个错误。

AttributeError: 'str' object has no attribute 'readlines'

有人可以帮助解决我的问题吗?我编写的代码是否正确才能产生所需的结果?

雷德·巴伦

当您将文本文件配置为key:value对时(例如dictpython中构造,或另一个DB中的值,例如SQL),这要容易得多。然后,您可以在满足该值时简单地设置一个哨兵值,然后在替换正确的行时将其取消设置。

因此,如果将文本格式更改为:

ProductCode <value>
ProductName <value>
Price <value>
CurrentStock <value>
ReorderStock <value>
Targetstock <value>

然后,您可以执行以下操作:

ProductCode = "28273139"
NewStock = "29"
SentinelValue = 0

with open('myDB.txt', 'r+') as database:
  for line in database:
  (key, val) = line.split()
  if key == "ProductCode":
    if val == ProductCode:
      SentinelValue = 1
  if key != "ProductCode":
    if key == "CurrentStock":
      if SentinelValue == 1:
        line = line.replace(val, NewStock)
    print line

它有点脏,可以肯定会被清理,但是更加冗长。另外,请注意,空格很重要,因为它在分割行时用作定界符。

您可能还会注意到我没有写文件:至少对于python 2.7来说,似乎存在一个问题,我不能替换一行文本,只能用追加f.write()这段代码可以正常工作并将其替换为stdout,写文件的解决方法是将所有行简单地写到新文件中:

ProductCode = "28273139"
NewStock = "29"
SentinelValue = 0
fout = open('newDB.txt', 'w')

with open('myDB.txt', 'r+') as database:
  for line in database:
  (key, val) = line.split()
  if key == "ProductCode":
    if val == ProductCode:
      SentinelValue = 1
  if key != "ProductCode":
    if key == "CurrentStock":
      if SentinelValue == 1:
        line = line.replace(val, NewStock)
    fout.write(line)
    print line

然后,您可以编写逻辑以根据需要替换文件。但是,我非常建议您看一下如何在实际的SQL数据库中进行读写。我希望这有帮助!^^

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RegEx-如何在大文本文件中查找和替换单词?

来自分类Dev

如何在文本文件C ++中查找和替换一行数据

来自分类Dev

如何在文本文件中查找和替换多行?

来自分类Dev

如何在C#中的大文本文件中替换换行符

来自分类Dev

如何在C中数组中的元素中查找和替换文本文件中的位置?

来自分类Dev

几个从文本文件中查找和替换

来自分类Dev

如何在文本文件中查找序列

来自分类Dev

如何在文本文件中用换行符/输入替换空格?

来自分类Dev

在文件夹中的多个文本文件中查找和替换

来自分类Dev

在大文本文件(Delphi XE5)中查找和替换文本

来自分类Dev

VBA 在文本文件中查找和替换文本

来自分类Dev

使用AppleScript查找和替换文本文件

来自分类Dev

如何在文本文件中的正则表达式之前和之后添加换行符?

来自分类Dev

如何在文本文件中的正则表达式之前和之后添加换行符?

来自分类Dev

如何在文本文件中查找特定行,并将其替换为其他内容

来自分类Dev

批处理文件仅使用整个单词在文本文件中查找和替换?

来自分类Dev

从文本文件中获取数据时,如何在txt文件中换行?

来自分类Dev

从文本文件中获取数据时,如何在txt文件中换行?

来自分类Dev

如何从文本文件中读取值,然后在xml文件中查找并替换值?

来自分类Dev

使用Java查找和替换文本文件中的单词

来自分类Dev

查找,解码和替换文本文件中的所有base64值

来自分类Dev

VB.net在文本文件的DataGridView中查找和替换数据

来自分类Dev

使用Power Shell在文本文件中查找和替换字符串

来自分类Dev

使用文本文件中的输入进行批处理以查找和替换

来自分类Dev

如何在综合嵌套列表中的文本文件中添加换行符?

来自分类Dev

如何在python中检测文本文件中的哪种换行符?

来自分类Dev

文本文件中的换行符如何工作?

来自分类Dev

如何使用批处理命令从文本文件中删除CRLF和换行

来自分类Dev

使用sed使用另一个文本文件中的字符串在文本文件中查找和替换

Related 相关文章

  1. 1

    RegEx-如何在大文本文件中查找和替换单词?

  2. 2

    如何在文本文件C ++中查找和替换一行数据

  3. 3

    如何在文本文件中查找和替换多行?

  4. 4

    如何在C#中的大文本文件中替换换行符

  5. 5

    如何在C中数组中的元素中查找和替换文本文件中的位置?

  6. 6

    几个从文本文件中查找和替换

  7. 7

    如何在文本文件中查找序列

  8. 8

    如何在文本文件中用换行符/输入替换空格?

  9. 9

    在文件夹中的多个文本文件中查找和替换

  10. 10

    在大文本文件(Delphi XE5)中查找和替换文本

  11. 11

    VBA 在文本文件中查找和替换文本

  12. 12

    使用AppleScript查找和替换文本文件

  13. 13

    如何在文本文件中的正则表达式之前和之后添加换行符?

  14. 14

    如何在文本文件中的正则表达式之前和之后添加换行符?

  15. 15

    如何在文本文件中查找特定行,并将其替换为其他内容

  16. 16

    批处理文件仅使用整个单词在文本文件中查找和替换?

  17. 17

    从文本文件中获取数据时,如何在txt文件中换行?

  18. 18

    从文本文件中获取数据时,如何在txt文件中换行?

  19. 19

    如何从文本文件中读取值,然后在xml文件中查找并替换值?

  20. 20

    使用Java查找和替换文本文件中的单词

  21. 21

    查找,解码和替换文本文件中的所有base64值

  22. 22

    VB.net在文本文件的DataGridView中查找和替换数据

  23. 23

    使用Power Shell在文本文件中查找和替换字符串

  24. 24

    使用文本文件中的输入进行批处理以查找和替换

  25. 25

    如何在综合嵌套列表中的文本文件中添加换行符?

  26. 26

    如何在python中检测文本文件中的哪种换行符?

  27. 27

    文本文件中的换行符如何工作?

  28. 28

    如何使用批处理命令从文本文件中删除CRLF和换行

  29. 29

    使用sed使用另一个文本文件中的字符串在文本文件中查找和替换

热门标签

归档