GVKun编程网logo

如何从python中的文件中读取由自定义分隔符终止的记录?(python分段读取文件)

14

想了解如何从python中的文件中读取由自定义分隔符终止的记录?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python分段读取文件的相关问题,此外,我们还将为您介绍关于Python:使

想了解如何从python中的文件中读取由自定义分隔符终止的记录?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python分段读取文件的相关问题,此外,我们还将为您介绍关于Python:使用自定义分隔符格式化字符串、不带分隔符的文本文件中的数据通过python进入列表、从Python中的.dat文件中读取特定列、从Python中的巨大CSV文件中读取随机行的新知识。

本文目录一览:

如何从python中的文件中读取由自定义分隔符终止的记录?(python分段读取文件)

如何从python中的文件中读取由自定义分隔符终止的记录?(python分段读取文件)

我想for line in file在python中做的一种方式,其中将行尾重新定义为我想要的任何字符串。换句话说,我想从文件而不是行中读取记录。我希望它与阅读台词一样快捷方便。

这是等效于设置perl的$/输入记录分隔符或Scanner在java中使用的python 。这不一定必须使用for line in file(特别是,迭代器可能不是文件对象)。只是一种等效方法,可以避免将太多数据读入内存。

另请参阅: 添加对使用任意分隔符读取记录的支持,并将其添加到标准IO堆栈中

Python:使用自定义分隔符格式化字符串

Python:使用自定义分隔符格式化字符串

我必须使用字典中的值格式化字符串,但是该字符串已经包含大括号。例如:

raw_string = """
    DATABASE = {
        'name': '{DB_NAME}'
   }
"""

但是,当然会raw_string.format(my_dictionary)导致KeyErro。

有没有办法使用不同的符号来使用.format()

这不是我如何在python字符串中打印文字大括号字符并在其上使用.format的重复项?因为我需要保持大括号不变,并为使用不同的定界符.format

不带分隔符的文本文件中的数据通过python进入列表

不带分隔符的文本文件中的数据通过python进入列表

用特殊符号(例如“ _”)替换名称(“ Unities States”)中的空格。 然后,尝试用唯一的符号(例如“#”)替换数据中的空格,该符号不会出现在数据中。进一步将其用作分隔符。

,

应该注意国家名称。 这是示例代码:

a = """1 United States $19,485,394,000,000 $19.485 trillion 2.27% 325,084,756 $59,939 24.08% 2 China $12,237,700,479,375 $12.238 trillion 6.90% 1,421,021,791 $8,612 15.12% 3 Japan $4,872,415,104,315 $4.872 trillion 1.71% 127,502,725 $38,214 6.02%"""

def get_splited(a):
    b = a.split()
    c = []
    # join words after split
    ind = 0
    cache_list = []
    while ind < len(b):
        if b[ind].isalpha():
            cache_list.append(b[ind])
        else:
            if cache_list:
                c.append(' '.join(cache_list))
                cache_list = []
            c.append(b[ind])
        ind += 1
        
    d = [c[i:i+9] for i in range(0,len(c),9)]
    return d
print(get_splited(a))

您可以参考以下链接:https://onlinegdb.com/rJsPgUQHw

,

问题是由于数据中缺少新行。如果我们必须处理这些数据,则解决方案是一个肮脏的解决方案。

    fh = open('data.txt')
    content = fh.read()
    content = content.split()
    data = []
    newline = []
    counter = 1
    i=0
    while i < len(content):
        counter+=1
        newline.append(content[i])
        i+=1
        country=''
        while '$' not in content[i]:
          country += content[i] + ' '
          i += 1
        newline.append(country.rstrip())
        while True:
          try:
            next = content[i+1]
          except:
            next=''
          if next in ['trillion','billion','million']:
            text = content[i]+' '+content[i+1]
            i+=2
          else:
            text = content[i]
            i+=1
          newline.append(text)
          try:
            if content[i] == str(counter):
              data.append(newline)
              newline=[]
              break
          except:
              data.append(newline)
              break
    print(data)

从Python中的.dat文件中读取特定列

从Python中的.dat文件中读取特定列

我有一个results.dat文件,其中包含以下数据:

7522126 0   0   0   0   0   0   -419.795    -186.24 1852.86 0.134695    -0.995462   -2.53153
7825452 0   0   0   0   0   0   -419.795    -186.24 1852.86 0.134695    -0.995462   -2.53153
8073799 0   0   0   0   0   0   -345.551    -140.711    1819.04 -0.0220266  -0.85992    -2.29598

每个值都由一个选项卡分隔.

我想为每一行提取例如第8列的值,并将其保存到数组中.所以输出应该是这样的:

-419.795
-419.795
-345.551

最简单的方法是什么?

解决方法

with open(''results.dat'') as f:
    [line.split()[7] for line in f]

或定义一个函数,

get_col = lambda col: (line.split(''\t'')[col-1] for line in open(''results.dat''))

现在使用所需的列号调用该函数. get_col(8)给出第8列数据.要将其存储在数组中,

array.array(''d'',map(float,get_col(8)))

从Python中的巨大CSV文件中读取随机行

从Python中的巨大CSV文件中读取随机行

我有一个很大的CSV文件(15 Gb),我需要从中读取大约一百万行。据我所见-并实现-Python中的CSV实用程序仅允许在文件中顺序迭代。

将所有文件读入内存以使用一些随机选择非常耗费内存,并且遍历所有文件并丢弃一些值并选择其他值非常耗时,因此, 无论如何
是否有必要从CSV文件中选择一些随机行,只读那行?

我尝试没有成功:

   import csv

    with open('linear_e_LAN2A_F_0_435keV.csv') as file:
        reader = csv.reader(file)
        print reader[someRandomInteger]

CSV文件示例:

331.093,329.735 
251.188,249.994 
374.468,373.782 
295.643,295.159 
83.9058,0 
380.709,116.221 
352.238,351.891 
183.809,182.615 
257.277,201.302
61.4598,40.7106

关于如何从python中的文件中读取由自定义分隔符终止的记录?python分段读取文件的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Python:使用自定义分隔符格式化字符串、不带分隔符的文本文件中的数据通过python进入列表、从Python中的.dat文件中读取特定列、从Python中的巨大CSV文件中读取随机行的相关知识,请在本站寻找。

本文标签: