0

所以我有一个看起来像这样的文本文件:

1,989785345,"something 1",,234.34,254.123
2,234823423,"something 2",,224.4,254.123
3,732847233,"something 3",,266.2,254.123
4,876234234,"something 4",,34.4,254.123
...

我在这里运行这段代码:

file = open("file.txt", 'r')
readFile = file.readline()

lineID = readFile.split(",")
print lineID[1]

这让我可以用“,”将文本文件中的内容分解,但我想做的是把它分成几列,因为我在每一行都有大量的 ID 和其他东西。我将如何将文本文件拆分为列并一一调用列中的每一行?

4

1 回答 1

7

您有一个 CSV 文件,请使用csv模块读取它:

import csv

with open('file.txt', 'rb') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:

这仍然按行为您提供数据,但使用该zip()函数您可以将其转置为列:

import csv

with open('file.txt', 'rb') as csvfile:
    reader = csv.reader(csvfile)
    for column in zip(*reader):

小心后者;整个文件将一次性读入内存,一个大的 CSV 文件可能会在此过程中耗尽所有可用内存。

于 2013-10-29T20:22:27.283 回答