搜索一个单词,并在Python文本处理中修改整行



这是我的carDatabase.txt

CarID:c01   ModelName:honda VehicleType:city    Price:20
CarID:c02   ModelName:honda VehicleType:x   Price:30

我想搜索carID,并且只能在不中断其他的情况下修改整条线路

我当前的代码在这里:

# Converting txt data into a string and modify
carsDatabaseFile = open('carsDatabase.txt', 'r')
allDataFromDatabase = [line.split(',') for line in carsDatabaseFile.readlines()]

注意:您的问题有几个问题:carDatabase.txt中的示例看起来像是用制表符分隔的,但您当前的代码看起来像是在","字符周围换行。在这里,列表理解对你的伤害可能大于对你的帮助。如果你试图添加一些逻辑来操作一行,那么就把它分解成一个for循环。

对于查看CSV文件,我强烈建议使用panda来对逗号ceparated以及许多其他格式的数据进行一般操作。

也就是说,如果你真的被限制只能使用内置包,或者你将其视为一种学习练习,而你的目标是直接操作该文件的一行,那么你要寻找的就是查找方法。您可以将其与tell方法结合使用(在上面的链接中只记录了blow-seek(来查找您在文件中的位置。

  1. 编写一个for循环来识别您要查找的文件中的哪一行
  2. 从那里,您可以获得tell((的输出,以找到您试图操作的文件中的特定位置
  3. 使用以上两个步骤的输出,可以使用seek((方法将文件指针设置到特定位置(按字节:文件实际上存储为一维(
  4. 现在,您可以使用write((方法在上面确定的位置直接更新文件

最新更新