基于“如何用python读写一个表/矩阵到文件?”

2024-10-03 06:24:49 发布

您现在位置:Python中文网/ 问答频道 /正文

早在2013年2月8日20:20,YamSMit提出了一个问题(参见:How to read and write a table / matrix to file with python?),类似于我正在努力解决的问题:从一个有3列和不同行数的Excel表(CSV)开始。列的内容是string、floating point和string。第一个字符串的长度会有所不同,而另一个字符串可以是固定的(例如,2个字符)。表需要进入一个二维数组,这样我就可以对数据进行操作以生成最终文件(它将是一个文本文件)。我尝试过stackoverflow中提出的各种策略,但是我总是遗漏一些东西,而且我还没有看到一个包含所有部分的示例,这就是为什么要费劲去弄清楚这个问题的原因。在

样本数据将类似于: 雷·史密斯,41645.87778,V1

我已经阅读并研究了numpy和astropy,因为可用的文档表明它们使这种类型的代码更容易。我尝试过导入csv。不知怎么的,代码不在一起。我应该补充一下,我是用python3.2.3编写的(这似乎是个错误,因为很多文档都是针对python2.x编写的)。在

我意识到这个问题的基本性质指导我阅读更多的教程。我已经读了很多,但是教程总是提到了很多不同的地方,以至于我无法组装正确的部分:读取表文件,写入二维数组,然后。。。做更多的事情。在

我很感谢任何人,他们可以为我提供一个可行的代码大纲,或者指出我应该阅读的特定文档来处理我试图编写的代码的特定性质。在

提前致谢。(抱歉,我的话太多了,我只是想完整点。)


Tags: and文件to数据字符串代码文档read
1条回答
网友
1楼 · 发布于 2024-10-03 06:24:49

我更熟悉2.x,但是从3.3csv文档found here来看,它似乎与2.x基本相同。下面的函数将读取一个csv文件,并返回文件中找到的行的2D数组。在

import csv
def read_csv(file_name):
    array_2D = []
    with open(file_name, 'rb') as csvfile:
        read = csv.reader(csvfile, delimiter=';') #Assuming your csv file has been set up with the ';' delimiter - there are other options, for which you should see the first link.
        for row in read:
            array_2D.append(row)
    return array_2D

然后您就可以按如下方式操作数据(假设您的csv文件名为'食品.csv'所需的文本文件是'食品.txt'):

^{pr2}$

字符串将被写入'食品.txt'作为:

Ray Smith has 41645.87778 apples in his Ford V1.\n

Maniplate会被写到'食品.txt'作为:

124937.63334

相关问题 更多 >