Python文件重新排序和拆分

时间:2018-04-03 15:57:27

标签: python readline non-ascii-characters

file ="data.txt"
data=[]
with open(file) as i:
    data=i.readlines()    
for i in data:
        a=i.replace(".",";")
        a.split(";")
        newdata.append(a)
        print(a[1])

所以如果我知道数据现在是一个字符串列表,是吗? 我想将.替换为;并将其拆分为字符串列表并保存。

示例data.txt:

  
      
  1. grillsütő; jóállapotú; 5000
  2.   
  3. gyerek bicikli; 14“-os; 10000
  4.   

如果我在阅读数据变量后知道得很清楚:

  

[1。 grillsütő; jóállapotú; 5000] //0.index

     

[4。 gyerek bicikli; 14“-os; 10000] //1.index

和我想要的:

  

[[1] [grillsütő] [jóállapotú] [5000]] //0.index

     

[[4] [gyerek bicikli] [14“-os] [10000]] // [1] [1]:[gyerek bicikli]

我错过了什么?

2 个答案:

答案 0 :(得分:1)

示例代码段

str = "1;2;3;4"
parts = str.split(";")
final_array = [[e] for e in parts]
print final_array

输出     [['1'],['2'],['3'],['4']]

答案 1 :(得分:1)

你可以这样做:

file = "data.txt" 
data, newdata = [], []
with open(file) as i: 
    data = i.readlines() 
for i in data:
    a = i.replace(".",";")
    newdata.append([[j] for j in a.split(";")])
print(newdata)

# [[['1'], [' grillsütő'], [' jó állapotú'], [' 5000']],   
#  [['4'], [' gyerek bicikli'], [' 14"-os'], [' 10000']]]   

如果您希望删除列表中项目周围不必要的空格,可以执行strip

newdata.append([[j.strip()] for j in a.split(";")])