当前位置: 首页 > 面试题库 >

用Python解析CSV/tab分隔的txt文件

胡昊
2023-03-14
问题内容

我目前有一个CSV文件,在Excel中打开时,总共有5个柱。只有A列和C列对我和中的数据有意义
其余的列不相关。从第8行开始,然后以7的倍数工作(即第8、15、22行,
29,36等等),我正在寻找用Python2.7和来自这些字段的信息。A列中的数据将是键(6位数字
整数),C列中的数据是键的相应值。我已经试图在下面突出显示此内容,但格式不正确最佳:

    A        B      C          D
1                           CDCDCDCD  
2                           VDDBDDB
3
4
5
6
7  DDEFEEF                   FEFEFEFE
8  123456         JONES
9
10
11
12
13
14
15 293849         SMITH

如上所述,我希望从A7(DDEFEEF)中提取值作为键在我的字典和“fefe”是各自的数据,然后添加另一个
进入我的字典,跳到第15行“2938495”是我的钥匙和“Smith”是各自的值。有什么建议吗?源文件是一个.txt文件,其条目为tab-分隔的。谢谢
澄清:
只是想澄清一下,到目前为止,我已经尝试了下图:

import csv

mydict = {:}
f = open("myfile", 'rt')
reader = csv.reader(f)
    for row in reader:
        print row

上面的方法只是一次打印一行的所有内容。我试过“为了
读卡器中的第(7)行,但这返回了一个错误。然后我研究了一下,做了个实验
看下面,但也没用:

import csv
from itertools import islice

entries = csv.reader(open("myfile", 'rb'))
mydict = {'key' : 'value'}

for i in xrange(6):
    mydict['i(0)] = 'I(2)    # integers representing columns
    range = islice(entries,6)
    for entry in range:
        mydict[entries(0) = entries(2)] # integers representing columns

问题答案:

首先将文本转换为列表列表。那就可以解决问题了
解析部分:

lol = list(csv.reader(open('text.txt', 'rb'), delimiter='\t'))

其余的可以通过索引查找完成:

d = dict()
key = lol[6][0]      # cell A7
value = lol[6][3]    # cell D7
d[key] = value       # add the entry to the dictionary
 ...


 类似资料:
  • 问题内容: 我目前有一个CSV文件,当在Excel中打开该文件时,共有5列。仅A和C列对我而言没有任何意义,其余列中的数据无关紧要。 从第8行开始,然后以7的倍数工作(即第8、15、22、29、36行等),我希望使用Python 2.7创建一个字典,其中包含来自这些字段的信息。A列中的数据将是密钥(6位整数),C列中的数据将是密钥的相应值。我试图在下面强调这一点,但格式不是最好的: 如上所述,我正

  • 问题内容: 所以我想将一个简单的制表符分隔的文本文件转换为一个csv文件。如果我使用string.split(’\ n’)将txt文件转换为字符串,则会得到一个列表,其中每个列表项都是字符串,每列之间带有’\ t’。我当时以为我可以用逗号替换’\ t’,但它不会像清单中的字符串一样对待字符串,并允许我使用string.replace。这是我的代码的开始,仍然需要解析选项卡“ \ t”的方法。 问题

  • TXT、CSV 记录分隔符 指定文件的记录分隔符。 分隔符 导入以分隔格式的文本文件。 字段分隔符, 文本标识符号 指定字段的分隔符和用于括住文本值的字符。 固定宽度 导入固定宽度格式的文本文件。若要界定源列的边界,请在所需的位置上点击以添加一条中断线。你可以简单地拖曳中断线来移动它,或双击它来移除。 XML 表示一个表列的标签或表示一个集合行的标签 定义一个标签以标识行。 将标签的属性视为表字段

  • TXT、CSV 字段分隔符 指定字段的分隔符。 记录分隔符 指定文件的记录分隔符。 文本标识符号 指定用于括住文本值的字符。 XML 表示一个表列的标签或表示一个集合行的标签 定义一个标签以标识行。 将标签的属性视为表字段或将标签的属性视为集合字段 例如: <row age="17"> <id>1</id> <name>sze</name> </row> 如果勾选了这个选项,Navicat 将会把

  • 我有一个带有注释的csv文件,其值需要在两个ArrayList之间拆分。例如: 实现这一目标的最佳方式是什么?我是否应该使用一个计数器,每次状态从%变到某个值时递增,反之亦然,然后如果计数器% 2 = 0,那么添加一个新的ArrayList并开始写入它?这是我能想到的唯一办法,但似乎有点笨拙,还有人有更好的主意吗? 编辑:我已经写了实际解析csv值的代码,我不需要帮助,只是想知道如何将值分成两个列

  • 问题内容: 我有一个.txt文件,其中包含以下详细信息: 我想做的是解析此广告,使值以更易读的格式(如果可能)转换为数组。 谢谢 问题答案: 您可以这样轻松地做到这一点 首先,您可以使用函数打开文本文件,然后使用函数在换行符上剪切字符串。这样,您将获得一个数组,其中所有行都分开。然后使用该函数可以删除第一行,因为它是标题。 获取行之后,您可以遍历数组并将所有信息放入名为的新数组中。从零行开始,您将